Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2003-11-23 22:28:46


On 10/27/2003 01:34 PM, David B. Held wrote:
> The latest version is in the Sandbox now under "latest".
I believe I've found a few bugs in the code.>

http://cvs.sourceforge.net/viewcvs.py/boost-sandbox/boost-sandbox/boost/policy_ptr/smart_ptr.hpp?rev=1.13&view=auto
shows
   P ref_counted::clone(P const& a_val)

which means a clone of P is returned, which is consistent with the name;
however, it's used to assign to, e.g. the scalar_storage::pointee_ in
the portion of the smart_ptr copy CTOR code below:

         smart_ptr(copy_arg rhs)
         : base_type(static_cast<copy_base>(rhs))
         { get_impl_ref(*this) = ownership_policy::clone(get_impl(rhs));
         }

So, the return value should be P* not a P. In addition, get_impl(rhs),
which is storage_policy::get_impl(rhs), returns a P* instead of
the (P const&) which is declared as the argument to clone.

Please let me know if I'm wrong.

TIA.


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