$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David B. Held (dheld_at_[hidden])
Date: 2003-01-28 12:39:44
"Douglas Gregor" <gregod_at_[hidden]> wrote in message
news:200301280939.39657.gregod_at_cs.rpi.edu...
> [...]
> template
> <
> typename T1,
> template <class> class OP1,
> class CP1,
> template <class> class KP1,
> template <class> class SP1
> >
> SmartPtr(SmartPtr<T1, OP1, CP1, KP1, SP1> const& rhs,
> typename SmartPtr<T1, OP1, CP1, KP1, SP1>::copyable* = 0)
>
> In SmartPtrs are should be copyable, include
> typedef void copyable;
>
> In other SmartPtrs, don't include typedef copyable.
Hmm...this sounds interesting, but it sounds like it still requires PTS.
I see that you are applying SFINAE, but let's tweak it like so:
SmartPtr(SmartPtr<T1, OP1, CP1, KP1, SP1> const& rhs,
typename OP1::copyable* = 0)
Now, you put the typedefs in the policies, which eliminates having to
create multiple specializations of SmartPtr itself. Thanks, Doug!
Dave