Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-08-28 08:22:55


Phillip Hellewell wrote:
> On 8/18/06, Phillip Hellewell <sshock_at_[hidden]> wrote:
>>
>> to this:
>>
>> template<class Y>
>> shared_ptr(shared_ptr<Y> const & r, typename enable_if<typename
>> is_convertible<Y*, T*>::type, void*>::type = 0): px(r.px), pn(r.pn)
>> // never throws
>> {
>> }
>
> I forgot to mention, you have to include these two headers in
> shared_ptr.hpp.
>
> #include <boost/type_traits.hpp>
> #include <boost/utility/enable_if.hpp>

Yes, and this is why the change isn't the no-brainer it seems at first.
shared_ptr is a critical Boost component that has to work on every compiler
supported by Boost (and a few unsupported ones.) So I tend to avoid
problematic constructs and unnecessary dependencies.

I agree that the feature is useful and will try to find a relatively
painless way to incorporate it.


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