
On Tue, Nov 16, 2010 at 10:07 PM, Stewart, Robert <Robert.Stewart@sig.com> wrote:
Dean Michael Berris wrote:
And because it's so interesting, I just committed a set of changes to implement this. It's now on the cpp-netlib master and is going to be part of the 0.8 release on Friday.
I don't know whether you chose auto_ptr or unique_ptr, but in this case you should choose based upon which is less likely to increase application size since both otherwise suffice. Using unique_ptr for io_service will increase code size unless the client already does the same, but as that is more likely than their using auto_ptr for io_service, at least in the future, using unique_ptr is probably wiser. (If any standard library implementation were to use a void * implementation to share non-dependent code in unique_ptr, the code size could still be reduced if the client uses unique_ptr but not for io_service.)
My thinking was more guided by what's generally available now. Barring a Boost.Unique_ptr, I'm sticking with std::auto_ptr in the meantime. Once a Boost.Unique_ptr is generally distributed with Boost, I'll switch to that instead. :) So far all tests seem to be unaffacted -- those that matter pass -- and I'm going to be adding more tests to see if the user-provided io_service works as expected. HTH -- Dean Michael Berris deanberris.com