|
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