|
Boost : |
From: David Maisonave (dmaisonave_at_[hidden])
Date: 2006-01-31 11:16:44
"Peter Dimov" <pdimov_at_[hidden]> wrote in message
news:<010a01c6265b$27cd4040$6507a8c0_at_pdimov2>...
> David Maisonave wrote:
>
> > Since the current smart_ptr (policy_ptr) class at boost vault is on
> > hold, I like to propose adding the following smart_ptr class to the
> > boost library:
> >
> > http://code.axter.com/smart_ptr.h
>
> smart_ptr& operator=(const smart_ptr& Src)
> {
> if (m_type != m_type)
> {
> Src.lock();
> m_ownership_policy.assign(m_type, m_clone_fct, Src.m_type,
> Src.m_clone_fct, Src.m_ownership_policy, m_ownership_policy);
> Src.unlock();
> }
> return *this;
> }
>
> You need a unit test. ;-)
Yep. You're absolutely correct.
This is also why I wasn't able to duplicate the cycle refernece leak,
similar to boost::shared_ptr.
I seem to have thrown this bug in, when I was adding lock() logic.
I've added a unit test for this specific logic.
I still have plenty more to go.
Thanks
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk