Boost logo

Boost :

From: Beman Dawes (beman_at_[hidden])
Date: 1999-12-30 15:36:56


At 12:45 PM 12/28/99 -0800, Boris Fomitchev wrote:

>I do believe good strategy is to add default bool template argument
:
>
>template < class T, bool Synchronized = false>
>class shared_ptr
>.....

During the initial boost discussions of shared_ptr<>, we agonized
over whether or not to parameterize the direct vs indirect
implementation techniques. We decided against parameterization
because it is confusing to users.

Parameterizing non-invasive vs invasive implementations has also been
discussed. There was a recent thread about parameterizing the method
of deletion (which may still fly if it can be worked out). There is
also the smart_ptr flavor which doesn't allow the pointer to ever be
null. And now "Synchronized."

It isn't that these aren't valuable techniques; they all are. But
trying to load them all into a single smart pointer would just create
a monster.

So don't take it personally; we are being deliberately conservative
with smart pointers.

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk