
On Apr 25, 2004, at 7:00 AM, John Maddock wrote:
Maybe, but lets not forget that shared_ptr doesn't need a mutex at all, what it needs is an atomic counter (actually less than that, because we never need the value of the counter just whether it's less than/greater than, or equal to zero).
shared_ptr has two counts which sometimes must both be incremented in an atomic fashion.
template <class T, bool threaded = BOOST_SP_DEFAULT> class shared_ptr;
Which I think I'm right in saying would be std conforming (because we're permitted additional defaulted template parameters right?), and would also quash any potential ODR violations.
Actually no, it would not be standard conforming for a hypothetical std::shared_ptr, unless the standard granted specific permission for this one template. (or specified the defaulted template in the first place) http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-closed.html#94 -Howard