<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> TemplateGlib::RefPtr< T_CppObject > class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table border="0" width="100%"> <tr> <td width="10%" height="40"><img src="../../images/gtkmm_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td> <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td> </tr> </table> <center> <a class="qindex" href="../../index.html">Main Page</a> <a href="group__Widgets.html">Widgets</a> <a class="qindex" href="namespaces.html"> Namespaces</a> <a href="../../tutorial/html/index.html"> Book</a> </center> <hr width="100%"/> <!-- Generated by Doxygen 1.3-rc1 --> <h1>Glib::RefPtr< T_CppObject > Class Template Reference</h1>RefPtr<> is a reference-counting shared smartpointer. <a href="#_details">More...</a> <p> <a href="classGlib_1_1RefPtr-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a0">RefPtr</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Default constructor.</em> <a href="#a0"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a1">~RefPtr</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Destructor - decrements reference count.</em> <a href="#a1"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a2">RefPtr</a> (T_CppObject* pCppObject)</td></tr> <tr><td> </td><td><font size=-1><em>For use only by the ::create() methods.</em> <a href="#a2"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a3">RefPtr</a> (const RefPtr<T_CppObject>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Copy constructor.</em> <a href="#a3"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>template <class T_CastFrom> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a4">RefPtr</a> (const RefPtr<T_CastFrom>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Copy constructor (from different, but castable type).</em> <a href="#a4"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a5">swap</a> (RefPtr<T_CppObject>& other)</td></tr> <tr><td> </td><td><font size=-1><em>Swap the contents of two RefPtr<>.</em> <a href="#a5"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>RefPtr<T_CppObject>& </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a6">operator=</a> (const RefPtr<T_CppObject>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Copy from another RefPtr:.</em> <a href="#a6"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>RefPtr<T_CppObject>& </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a7">operator=</a> (T_CppObject* pCppObject)</td></tr> <tr><td> </td><td><font size=-1><em>For use only by the ::create() methods.</em> <a href="#a7"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>template <class T_CastFrom> RefPtr<T_CppObject>& </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a8">operator=</a> (const RefPtr<T_CastFrom>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Copy from different, but castable type).</em> <a href="#a8"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a9">operator==</a> (const RefPtr<T_CppObject>& src) const</td></tr> <tr><td> </td><td><font size=-1><em>Tests whether the RefPtr<> point to the same underlying instance.</em> <a href="#a9"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a10">operator!=</a> (const RefPtr<T_CppObject>& src) const</td></tr> <tr><td> </td><td><font size=-1><em>See <a class="el" href="classGlib_1_1RefPtr.html#a9">operator==()</a>.</em> <a href="#a10"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>T_CppObject* </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a11">operator-></a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Dereferencing.</em> <a href="#a11"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a12">operator bool</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Test whether the RefPtr<> points to any underlying instance.</em> <a href="#a12"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a13">is_null</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Test whether the RefPtr<> points to any underlying instance.</em> <a href="#a13"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a14">clear</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Set underlying instance to 0, decrementing reference count of existing instance appropriately.</em> <a href="#a14"></a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top>template <class T_CastFrom> RefPtr<T_CppObject> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#d0">cast_dynamic</a> (const RefPtr<T_CastFrom>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Dynamic cast to derived class.</em> <a href="#d0"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>template <class T_CastFrom> RefPtr<T_CppObject> </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#d1">cast_static</a> (const RefPtr<T_CastFrom>& src)</td></tr> <tr><td> </td><td><font size=-1><em>Static cast to derived class.</em> <a href="#d1"></a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Related Functions</h2></td></tr> <tr><td colspan=2>(Note that these are not member functions.)<br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#k0">swap</a> (RefPtr<T_CppObject>& lhs, RefPtr<T_CppObject>& rhs)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template <class T_CppObject><br> class Glib::RefPtr< T_CppObject ></h3> RefPtr<> is a reference-counting shared smartpointer. <p> Some objects in gtkmm are obtained from a shared store. Consequently you cannot instantiate them yourself. Instead they return a <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a> which behaves much like an ordinary pointer in that members can be reached with the usual <code>object_ptr->member</code> notation. Unlike most other smart pointers, <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a> doesn't support dereferencing through <code>* object_ptr</code>. <p> Reference counting means that a shared reference count is incremented each time a <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a> is copied, and decremented each time a <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a> is destroyed, for instance when it leaves its scope. When the reference count reaches zero, the contained object is deleted, meaning you don't need to remember to delete the object. <p> RefPtr<> can store any class that has reference() and unreference() methods. In gtkmm, that is anything derived from <a class="el" href="classGlib_1_1ObjectBase.html">Glib::ObjectBase</a>, such as <a class="el" href="classGdk_1_1Pixmap.html">Gdk::Pixmap</a>. <p> See the "Memory Management" section in the "Programming with gtkmm" book for further information. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a0" doxytag="Glib::RefPtr::RefPtr"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::RefPtr </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Default constructor. <p> Afterwards <a class="el" href="classGlib_1_1RefPtr.html#a13">is_null()</a> will return true and use of -> will cause a segmentation fault. </td> </tr> </table> <a name="a1" doxytag="Glib::RefPtr::~RefPtr"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::~RefPtr </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Destructor - decrements reference count. <p> </td> </tr> </table> <a name="a2" doxytag="Glib::RefPtr::RefPtr"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::RefPtr </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">T_CppObject* </td> <td class="mdname1" valign="top" nowrap> <em>pCppObject</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, explicit]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> For use only by the ::create() methods. <p> </td> </tr> </table> <a name="a3" doxytag="Glib::RefPtr::RefPtr"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::RefPtr </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CppObject>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Copy constructor. <p> This increments the shared reference count. </td> </tr> </table> <a name="a4" doxytag="Glib::RefPtr::RefPtr"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" colspan="4"> template <class T_CastFrom> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::RefPtr </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CastFrom>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Copy constructor (from different, but castable type). <p> Increments the reference count. </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="d0" doxytag="Glib::RefPtr::cast_dynamic"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" colspan="4"> template <class T_CastFrom> </td> </tr> <tr> <td class="md" nowrap valign="top"> RefPtr<T_CppObject> Glib::RefPtr<T_CppObject>::cast_dynamic </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CastFrom>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Dynamic cast to derived class. <p> The <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a> can't be cast with the usual notation so instead you can use <div class="fragment"><pre> ptr_derived = RefPtr<Derived>::cast_dynamic(ptr_base); </pre></div> </td> </tr> </table> <a name="d1" doxytag="Glib::RefPtr::cast_static"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" colspan="4"> template <class T_CastFrom> </td> </tr> <tr> <td class="md" nowrap valign="top"> RefPtr<T_CppObject> Glib::RefPtr<T_CppObject>::cast_static </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CastFrom>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Static cast to derived class. <p> Like the dynamic cast; the notation is <div class="fragment"><pre> ptr_derived = RefPtr<Derived>::cast_static(ptr_base); </pre></div> </td> </tr> </table> <a name="a14" doxytag="Glib::RefPtr::clear"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> void Glib::RefPtr<T_CppObject>::clear </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set underlying instance to 0, decrementing reference count of existing instance appropriately. <p> </td> </tr> </table> <a name="a13" doxytag="Glib::RefPtr::is_null"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> bool Glib::RefPtr<T_CppObject>::is_null </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Test whether the RefPtr<> points to any underlying instance. <p> </td> </tr> </table> <a name="a12" doxytag="Glib::RefPtr::operator bool"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> Glib::RefPtr<T_CppObject>::operator bool </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Test whether the RefPtr<> points to any underlying instance. <p> Mimics usage of ordinary pointers: <div class="fragment"><pre> <span class="keywordflow">if</span> (ptr) do_something(); </pre></div> </td> </tr> </table> <a name="a10" doxytag="Glib::RefPtr::operator!="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> bool Glib::RefPtr<T_CppObject>::operator!= </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CppObject>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> See <a class="el" href="classGlib_1_1RefPtr.html#a9">operator==()</a>. <p> </td> </tr> </table> <a name="a11" doxytag="Glib::RefPtr::operator->"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> T_CppObject* Glib::RefPtr<T_CppObject>::operator-> </td> <td class="md" valign="top">(</td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Dereferencing. <p> Use the methods of the underlying instance like so: <code>refptr->memberfun()</code>. </td> </tr> </table> <a name="a8" doxytag="Glib::RefPtr::operator="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" colspan="4"> template <class T_CastFrom> </td> </tr> <tr> <td class="md" nowrap valign="top"> RefPtr<T_CppObject>& Glib::RefPtr<T_CppObject>::operator= </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CastFrom>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Copy from different, but castable type). <p> Increments the reference count. </td> </tr> </table> <a name="a7" doxytag="Glib::RefPtr::operator="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> RefPtr<T_CppObject>& Glib::RefPtr<T_CppObject>::operator= </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">T_CppObject* </td> <td class="mdname1" valign="top" nowrap> <em>pCppObject</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> For use only by the ::create() methods. <p> </td> </tr> </table> <a name="a6" doxytag="Glib::RefPtr::operator="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> RefPtr<T_CppObject>& Glib::RefPtr<T_CppObject>::operator= </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CppObject>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Copy from another RefPtr:. <p> </td> </tr> </table> <a name="a9" doxytag="Glib::RefPtr::operator=="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> bool Glib::RefPtr<T_CppObject>::operator== </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">const RefPtr<T_CppObject>& </td> <td class="mdname1" valign="top" nowrap> <em>src</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Tests whether the RefPtr<> point to the same underlying instance. <p> </td> </tr> </table> <a name="a5" doxytag="Glib::RefPtr::swap"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> void Glib::RefPtr<T_CppObject>::swap </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">RefPtr<T_CppObject>& </td> <td class="mdname1" valign="top" nowrap> <em>other</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Swap the contents of two RefPtr<>. <p> This method swaps the internal pointers to T_CppObject. This can be done safely without involving a reference/unreference cycle and is therefore highly efficient. </td> </tr> </table> <hr><h2>Friends And Related Function Documentation</h2> <a name="k0" doxytag="Glib::RefPtr::swap"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4"> template <class T_CppObject> </td> </tr> <tr> <td class="md" nowrap valign="top"> void swap </td> <td class="md" valign="top">(</td> <td class="md" nowrap valign="top">RefPtr<T_CppObject>& </td> <td class="mdname" nowrap> <em>lhs</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>RefPtr<T_CppObject>& </td> <td class="mdname" nowrap> <em>rhs</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [related]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="refptr_8h.html">refptr.h</a></ul> <hr><address><small> Generated for gtkmm by <a href="http://www.doxygen.org/index.html"> Doxygen</a> 1.3-rc1 © 1997-2001</small></address> </body> </html>