
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 15 September 2009, Stewart, Robert wrote:
Berserker wrote:
The "noncopyable nature" of scoped_ptr allows to support deleters with simply an extra template parameter (default value is boost::checked_deleter): this change doesn't require extra memory overhead (like in shared_ptr) and it consists of 2 lines.
That change creates multiple, distinct classes. shared_ptr<T,boost::checked_deleter<T>> is not the same as shared_ptr<T,my_deleter<T>>. By embedding the deleter in the shared_ptr with type erasure, shared_ptr<T> is shared_ptr<T> is shared_ptr<T>, regardless of the deleter.
Any hope to apply this patch?
None, unless I'm much mistaken.
There is nothing wrong with the design, it is just called unique_ptr. Also, there is already a boost::interprocess::unique_ptr in boost which I've only played with a little but seems to work ok. It is missing a default_delete however. I imagine once boost gets a move library, boost::unique_ptr will follow. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkqvlc0ACgkQ5vihyNWuA4WzmwCfYzmkJNBDE+nmnLHt1fVa4BVG QZkAoMnzpLmWGJ4ovPxqvVmwoGWq9Vi2 =caGR -----END PGP SIGNATURE-----