Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > e0521f28751d07a87e3a3d6c7d15a1ac > files > 775

libgtkmm2.0_1-devel-2.2.1-2mdk.ppc.rpm

<!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&lt; T_CppObject &gt; 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> &nbsp;
  <a href="group__Widgets.html">Widgets</a> &nbsp;
  <a class="qindex" href="namespaces.html"> Namespaces</a> &nbsp;
  <a href="../../tutorial/html/index.html"> Book</a> &nbsp;
</center>
<hr width="100%"/>

<!-- Generated by Doxygen 1.3-rc1 -->
<h1>Glib::RefPtr&lt; T_CppObject &gt; Class Template Reference</h1>RefPtr&lt;&gt; 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>&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a0">RefPtr</a> ()</td></tr>
<tr><td>&nbsp;</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>&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a1">~RefPtr</a> ()</td></tr>
<tr><td>&nbsp;</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>&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a2">RefPtr</a> (T_CppObject* pCppObject)</td></tr>
<tr><td>&nbsp;</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>&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a3">RefPtr</a> (const RefPtr&lt;T_CppObject&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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 &lt;class T_CastFrom&gt; &nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a4">RefPtr</a> (const RefPtr&lt;T_CastFrom&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a5">swap</a> (RefPtr&lt;T_CppObject&gt;&amp; other)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Swap the contents of two RefPtr&lt;&gt;.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a6">operator=</a> (const RefPtr&lt;T_CppObject&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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&lt;T_CppObject&gt;&amp;&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a7">operator=</a> (T_CppObject* pCppObject)</td></tr>
<tr><td>&nbsp;</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 &lt;class T_CastFrom&gt; RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a8">operator=</a> (const RefPtr&lt;T_CastFrom&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a9">operator==</a> (const RefPtr&lt;T_CppObject&gt;&amp; src) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Tests whether the RefPtr&lt;&gt; 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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a10">operator!=</a> (const RefPtr&lt;T_CppObject&gt;&amp; src) const</td></tr>
<tr><td>&nbsp;</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*&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a11">operator-&gt;</a> () const</td></tr>
<tr><td>&nbsp;</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>&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a12">operator bool</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Test whether the RefPtr&lt;&gt; 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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a13">is_null</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Test whether the RefPtr&lt;&gt; 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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#a14">clear</a> ()</td></tr>
<tr><td>&nbsp;</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 &lt;class T_CastFrom&gt; RefPtr&lt;T_CppObject&gt;&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#d0">cast_dynamic</a> (const RefPtr&lt;T_CastFrom&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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 &lt;class T_CastFrom&gt; RefPtr&lt;T_CppObject&gt;&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#d1">cast_static</a> (const RefPtr&lt;T_CastFrom&gt;&amp; src)</td></tr>
<tr><td>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="classGlib_1_1RefPtr.html#k0">swap</a> (RefPtr&lt;T_CppObject&gt;&amp; lhs, RefPtr&lt;T_CppObject&gt;&amp; rhs)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template &lt;class T_CppObject&gt;<br>
 class Glib::RefPtr&lt; T_CppObject &gt;</h3>

RefPtr&lt;&gt; 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-&gt;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&lt;&gt; 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 &amp; 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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::RefPtr </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 -&gt; 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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::~RefPtr </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::RefPtr </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">T_CppObject*&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>pCppObject</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, explicit]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::RefPtr </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" colspan="4">
template &lt;class T_CastFrom&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::RefPtr </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CastFrom&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" colspan="4">
template &lt;class T_CastFrom&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> RefPtr&lt;T_CppObject&gt; Glib::RefPtr&lt;T_CppObject&gt;::cast_dynamic </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CastFrom&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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&lt;Derived&gt;::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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" colspan="4">
template &lt;class T_CastFrom&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> RefPtr&lt;T_CppObject&gt; Glib::RefPtr&lt;T_CppObject&gt;::cast_static </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CastFrom&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Static cast to derived class.
<p>
Like the dynamic cast; the notation is <div class="fragment"><pre>
   ptr_derived = RefPtr&lt;Derived&gt;::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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> void Glib::RefPtr&lt;T_CppObject&gt;::clear </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> bool Glib::RefPtr&lt;T_CppObject&gt;::is_null </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Test whether the RefPtr&lt;&gt; 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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Glib::RefPtr&lt;T_CppObject&gt;::operator bool </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Test whether the RefPtr&lt;&gt; 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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> bool Glib::RefPtr&lt;T_CppObject&gt;::operator!= </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> T_CppObject* Glib::RefPtr&lt;T_CppObject&gt;::operator-&gt; </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dereferencing.
<p>
Use the methods of the underlying instance like so: <code>refptr-&gt;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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" colspan="4">
template &lt;class T_CastFrom&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> RefPtr&lt;T_CppObject&gt;&amp; Glib::RefPtr&lt;T_CppObject&gt;::operator= </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CastFrom&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> RefPtr&lt;T_CppObject&gt;&amp; Glib::RefPtr&lt;T_CppObject&gt;::operator= </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">T_CppObject*&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>pCppObject</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> RefPtr&lt;T_CppObject&gt;&amp; Glib::RefPtr&lt;T_CppObject&gt;::operator= </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> bool Glib::RefPtr&lt;T_CppObject&gt;::operator== </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tests whether the RefPtr&lt;&gt; 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 &lt;class T_CppObject&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> void Glib::RefPtr&lt;T_CppObject&gt;::swap </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>other</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Swap the contents of two RefPtr&lt;&gt;.
<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 &lt;class T_CppObject&gt; </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&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lhs</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>RefPtr&lt;T_CppObject&gt;&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>rhs</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [related]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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 &copy;&nbsp;1997-2001</small></address>
</body>
</html>