Boost logo

Boost-Commit :

From: pdimov_at_[hidden]
Date: 2008-05-03 16:12:25


Author: pdimov
Date: 2008-05-03 16:12:25 EDT (Sat, 03 May 2008)
New Revision: 45089
URL: http://svn.boost.org/trac/boost/changeset/45089

Log:
intrusive_ptr::reset() added.
Text files modified:
   trunk/boost/intrusive_ptr.hpp | 5 +++++
   trunk/libs/smart_ptr/intrusive_ptr.html | 6 ++++++
   2 files changed, 11 insertions(+), 0 deletions(-)

Modified: trunk/boost/intrusive_ptr.hpp
==============================================================================
--- trunk/boost/intrusive_ptr.hpp (original)
+++ trunk/boost/intrusive_ptr.hpp 2008-05-03 16:12:25 EDT (Sat, 03 May 2008)
@@ -126,6 +126,11 @@
         return *this;
     }
 
+ void reset()
+ {
+ this_type().swap( *this );
+ }
+
     void reset( T * rhs )
     {
         this_type( rhs ).swap( *this );

Modified: trunk/libs/smart_ptr/intrusive_ptr.html
==============================================================================
--- trunk/libs/smart_ptr/intrusive_ptr.html (original)
+++ trunk/libs/smart_ptr/intrusive_ptr.html 2008-05-03 16:12:25 EDT (Sat, 03 May 2008)
@@ -62,6 +62,8 @@
       intrusive_ptr & operator=(intrusive_ptr const & r);
       template<class Y> intrusive_ptr & operator=(intrusive_ptr<Y> const & r);
       intrusive_ptr & operator=(T * r);
+
+ void reset();
       void reset(T * r);
 
       T & operator*() const; // never throws
@@ -148,6 +150,10 @@
                         <P><B>Returns:</B> <code>*this</code>.</P>
                 </BLOCKQUOTE>
                 <H3><a name="reset">reset</a></H3>
+ <pre>void reset();</pre>
+ <BLOCKQUOTE>
+ <P><B>Effects:</B> Equivalent to <code>intrusive_ptr().swap(*this)</code>.</P>
+ </BLOCKQUOTE>
                 <pre>void reset(T * r);</pre>
                 <BLOCKQUOTE>
                         <P><B>Effects:</B> Equivalent to <code>intrusive_ptr(r).swap(*this)</code>.</P>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk