Boost logo

Boost :

Subject: Re: [boost] scoped_ptr deleter
From: Gottlob Frege (gottlobfrege_at_[hidden])
Date: 2009-09-22 11:27:02


On Tue, Sep 22, 2009 at 3:18 AM, Berserker <berserker_r_at_[hidden]> wrote:
>
> What's the status about this? If we don't want to "break" the interface,  we
> can always provide an option to enable this feature, something like (same
> for scoped_array):
>
> template<class T
> #ifdef BOOST_SCOPED_PTR_ENABLE_DELETER
> , class D = boost::checked_deleter<T> >
> #endif
> class scoped_ptr
> {
> // ...
>
> public:
>   ~scoped_ptr()
>  {
>     // ...
>
> #ifdef BOOST_SCOPED_PTR_ENABLE_DELETER
>     deleter()(ptr);
> #else
>     boost::checked_delete(ptr);
> #endif
>  }
> };
>
> BOOST_SCOPED_PTR_ENABLE_DELETER is not defined by default.
> There are lots of samples like this in other boost libraries, is it
> reasonable?
>

No it is not reasonable (IMO). If I write new Boost library A using
the deleter, and you write library B not using it, can anyone use
*both* of our no doubt great and valuable libraries together in their
code?

Tony


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