On 08/03/2013 11:00 AM, Andrew Ho wrote:
I implemented std::unique_ptr using C++03 features plus a few other Boost Libraries. Incidentally, I also implemented default_delete (which binds to std::default_delete if available) because it's required for unique_ptr.
I would be very interested in seeing a C++03 based unique_ptr as part of Boost.SmartPtr Back in March there was some discussion about moving the unique_ptr implementation of Boost.Interprocess to Boost.SmartPtr. What happened to that proposal?
- There's no explicit conversion overloads in C++03. Currently I have operator bool() implemented non-explicitly if there's no compiler support, relying on the user to only use it "as-if explicit". An alternative solution is to remove the typecast operator and force users to use get() == NULL_VALUE.
Maybe you could use the safe-bool idiom. PS: I recommend that you use your real name in the copyright line rather than your handle. I do not think that the latter is legally valid.