From: "David B. Held" <[EMAIL PROTECTED]> > Andrei suggested that I pose this question to several groups, as > it is relevant to all of them. While the problem was originally identified > by Richard Crossley, Andrei sums it up pretty well right here: > > The problem is, auto_ptr's behavior relies on the chain: > > smart_ptr -> operator by_ref() -> smart_ptr(by_ref) > > My understanding is that the template constructor: > > 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) > > is going to somehow get in the way by "eating" everything, > and in particular not allow the constructor: > > SmartPtr(ByRef<SmartPtr> rhs) > > to kick in, as it should.
The first question, of course, is: do you really need SmartPtr<...> to support move semantics (in current C++)? _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost