Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-updates > by-pkgid > 5f432397173178f358bd15bfe4d9af07 > files > 237

libglom-devel-1.22.5-1.1.mga3.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>libglom-1.22: Glom::sharedptr&lt; T_obj &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libglom-1.22
   &#160;<span id="projectnumber">1.22.5</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceGlom.html">Glom</a></li><li class="navelem"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classGlom_1_1sharedptr-members.html">List of all members</a> </div>
  <div class="headertitle">
<div class="title">Glom::sharedptr&lt; T_obj &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">

<p>A ref-counting smart-pointer for the underlying C++ object.  <a href="classGlom_1_1sharedptr.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Glom::sharedptr&lt; T_obj &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classGlom_1_1sharedptr__inherit__graph.png" border="0" usemap="#Glom_1_1sharedptr_3_01T__obj_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="Glom_1_1sharedptr_3_01T__obj_01_4_inherit__map" id="Glom_1_1sharedptr_3_01T__obj_01_4_inherit__map">
<area shape="rect" id="node2" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::UsesRelationship \&gt;" alt="" coords="352,9,507,50"/><area shape="rect" id="node3" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::CustomTitle \&gt;" alt="" coords="352,74,507,115"/><area shape="rect" id="node4" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; const\l T_ElementField \&gt;" alt="" coords="352,139,507,181"/><area shape="rect" id="node5" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::TableInfo \&gt;" alt="" coords="352,205,507,246"/><area shape="rect" id="node6" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::TranslatableItem \&gt;" alt="" coords="352,270,507,311"/><area shape="rect" id="node7" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::DatabaseTitle \&gt;" alt="" coords="352,335,507,377"/><area shape="rect" id="node8" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::Relationship \&gt;" alt="" coords="352,401,507,442"/><area shape="rect" id="node9" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::LayoutGroup \&gt;" alt="" coords="352,466,507,507"/><area shape="rect" id="node10" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; const\l Glom::Relationship \&gt;" alt="" coords="352,531,507,573"/><area shape="rect" id="node11" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::LayoutItem_Field \&gt;" alt="" coords="352,597,507,638"/><area shape="rect" id="node12" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; const\l Glom::Field \&gt;" alt="" coords="352,662,507,703"/><area shape="rect" id="node13" href="classGlom_1_1sharedptr.html" title="Glom::sharedptr\&lt; Glom\l::Field \&gt;" alt="" coords="352,727,507,769"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a136c71f35df111e6f6bfa9e03e9917a0"><td class="memItemLeft" align="right" valign="top">typedef <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00301.html#ad477e282dc33a113ed64628b9b32e3dd">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a136c71f35df111e6f6bfa9e03e9917a0">size_type</a></td></tr>
<tr class="separator:a136c71f35df111e6f6bfa9e03e9917a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb058473e72cf4f006a7a23ffbbdaf35"><td class="memItemLeft" align="right" valign="top">typedef T_obj&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#acb058473e72cf4f006a7a23ffbbdaf35">object_type</a></td></tr>
<tr class="separator:acb058473e72cf4f006a7a23ffbbdaf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7749eb805a1a96911d3244bae89611a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a7749eb805a1a96911d3244bae89611a4">sharedptr</a> ()</td></tr>
<tr class="separator:a7749eb805a1a96911d3244bae89611a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a915c7a122a951ec527f04ae985112ef1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a915c7a122a951ec527f04ae985112ef1">sharedptr</a> (T_obj* pobj)</td></tr>
<tr class="memdesc:a915c7a122a951ec527f04ae985112ef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take ownership. <a href="#a915c7a122a951ec527f04ae985112ef1">More...</a><br/></td></tr>
<tr class="separator:a915c7a122a951ec527f04ae985112ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e090a36f58b2811717c25cab64cae14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a7e090a36f58b2811717c25cab64cae14">sharedptr</a> (T_obj* pobj, <a class="el" href="classGlom_1_1sharedptr.html#a136c71f35df111e6f6bfa9e03e9917a0">size_type</a>* refcount)</td></tr>
<tr class="memdesc:a7e090a36f58b2811717c25cab64cae14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take ownership. <a href="#a7e090a36f58b2811717c25cab64cae14">More...</a><br/></td></tr>
<tr class="separator:a7e090a36f58b2811717c25cab64cae14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6102dbc1119f259160e667856633042b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a6102dbc1119f259160e667856633042b">sharedptr</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&amp; src)</td></tr>
<tr class="memdesc:a6102dbc1119f259160e667856633042b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Share ownership. <a href="#a6102dbc1119f259160e667856633042b">More...</a><br/></td></tr>
<tr class="separator:a6102dbc1119f259160e667856633042b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d5ed27e0cb5ef44d49fadcfeafa928"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a04d5ed27e0cb5ef44d49fadcfeafa928">swap</a> (<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp; other)</td></tr>
<tr class="memdesc:a04d5ed27e0cb5ef44d49fadcfeafa928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the contents of two sharedptr&lt;&gt;. <a href="#a04d5ed27e0cb5ef44d49fadcfeafa928">More...</a><br/></td></tr>
<tr class="separator:a04d5ed27e0cb5ef44d49fadcfeafa928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a512b65f7a40867492db88c6a89930a51"><td class="memTemplParams" colspan="2">template&lt;class T_CastFrom &gt; </td></tr>
<tr class="memitem:a512b65f7a40867492db88c6a89930a51"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a512b65f7a40867492db88c6a89930a51">sharedptr</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp; src)</td></tr>
<tr class="memdesc:a512b65f7a40867492db88c6a89930a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor (from different, but castable type). <a href="#a512b65f7a40867492db88c6a89930a51">More...</a><br/></td></tr>
<tr class="separator:a512b65f7a40867492db88c6a89930a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cdd392b3e161e02a16ca205ea54311a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a1cdd392b3e161e02a16ca205ea54311a">operator=</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&amp; src)</td></tr>
<tr class="memdesc:a1cdd392b3e161e02a16ca205ea54311a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Share ownership. <a href="#a1cdd392b3e161e02a16ca205ea54311a">More...</a><br/></td></tr>
<tr class="separator:a1cdd392b3e161e02a16ca205ea54311a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a3c4a52a541002ce237c05970b9f9ca"><td class="memTemplParams" colspan="2">template&lt;class T_CastFrom &gt; </td></tr>
<tr class="memitem:a9a3c4a52a541002ce237c05970b9f9ca"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a9a3c4a52a541002ce237c05970b9f9ca">operator=</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp; src)</td></tr>
<tr class="memdesc:a9a3c4a52a541002ce237c05970b9f9ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy from different, but castable type). <a href="#a9a3c4a52a541002ce237c05970b9f9ca">More...</a><br/></td></tr>
<tr class="separator:a9a3c4a52a541002ce237c05970b9f9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4de9a1efd217faa77e39a1813c4bd0b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#ab4de9a1efd217faa77e39a1813c4bd0b">~sharedptr</a> ()</td></tr>
<tr class="separator:ab4de9a1efd217faa77e39a1813c4bd0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af93fe9dabf864468837057cb430d6817"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#af93fe9dabf864468837057cb430d6817">operator==</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp; src) const </td></tr>
<tr class="separator:af93fe9dabf864468837057cb430d6817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107f3107052d1d026b54a7dde628cc13"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a107f3107052d1d026b54a7dde628cc13">operator!=</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp; src) const </td></tr>
<tr class="separator:a107f3107052d1d026b54a7dde628cc13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d421575966613b3eb0862e1d0776419"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a4d421575966613b3eb0862e1d0776419">clear</a> ()</td></tr>
<tr class="memdesc:a4d421575966613b3eb0862e1d0776419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget the instance. <a href="#a4d421575966613b3eb0862e1d0776419">More...</a><br/></td></tr>
<tr class="separator:a4d421575966613b3eb0862e1d0776419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace647214b829e740d49a7a760341ee09"><td class="memItemLeft" align="right" valign="top">T_obj&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#ace647214b829e740d49a7a760341ee09">operator*</a> ()</td></tr>
<tr class="memdesc:ace647214b829e740d49a7a760341ee09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereferencing. <a href="#ace647214b829e740d49a7a760341ee09">More...</a><br/></td></tr>
<tr class="separator:ace647214b829e740d49a7a760341ee09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a249c5d4eef8f2c27c72c4b5c9807cc52"><td class="memItemLeft" align="right" valign="top">const T_obj&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a249c5d4eef8f2c27c72c4b5c9807cc52">operator*</a> () const </td></tr>
<tr class="memdesc:a249c5d4eef8f2c27c72c4b5c9807cc52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereferencing. <a href="#a249c5d4eef8f2c27c72c4b5c9807cc52">More...</a><br/></td></tr>
<tr class="separator:a249c5d4eef8f2c27c72c4b5c9807cc52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3e93d6c6f2f2858f54abcaf3aecdcf"><td class="memItemLeft" align="right" valign="top">T_obj*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a3f3e93d6c6f2f2858f54abcaf3aecdcf">operator-&gt;</a> () const </td></tr>
<tr class="memdesc:a3f3e93d6c6f2f2858f54abcaf3aecdcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereferencing. <a href="#a3f3e93d6c6f2f2858f54abcaf3aecdcf">More...</a><br/></td></tr>
<tr class="separator:a3f3e93d6c6f2f2858f54abcaf3aecdcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a9e0c086b97df95d465d39d29e5467b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a2a9e0c086b97df95d465d39d29e5467b">operator bool</a> () const </td></tr>
<tr class="memdesc:a2a9e0c086b97df95d465d39d29e5467b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether the sharedptr&lt;&gt; points to any underlying instance. <a href="#a2a9e0c086b97df95d465d39d29e5467b">More...</a><br/></td></tr>
<tr class="separator:a2a9e0c086b97df95d465d39d29e5467b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad854eea3ed6f8bff576b1323d0f458f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#ad854eea3ed6f8bff576b1323d0f458f7">operator!</a> () const </td></tr>
<tr class="memdesc:ad854eea3ed6f8bff576b1323d0f458f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether the sharedptr&lt;&gt; points to any underlying instance. <a href="#ad854eea3ed6f8bff576b1323d0f458f7">More...</a><br/></td></tr>
<tr class="separator:ad854eea3ed6f8bff576b1323d0f458f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b254013a623c15f9040b4e26772d399"><td class="memItemLeft" align="right" valign="top">T_obj*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a4b254013a623c15f9040b4e26772d399">obj</a> ()</td></tr>
<tr class="memdesc:a4b254013a623c15f9040b4e26772d399"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying instance: <a href="#a4b254013a623c15f9040b4e26772d399">More...</a><br/></td></tr>
<tr class="separator:a4b254013a623c15f9040b4e26772d399"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b85493ef0d6ea82e6305050259ca84"><td class="memItemLeft" align="right" valign="top">const T_obj*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#a14b85493ef0d6ea82e6305050259ca84">obj</a> () const </td></tr>
<tr class="memdesc:a14b85493ef0d6ea82e6305050259ca84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying instance: <a href="#a14b85493ef0d6ea82e6305050259ca84">More...</a><br/></td></tr>
<tr class="separator:a14b85493ef0d6ea82e6305050259ca84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ac9cf06571175f4a4d8f3d2190bc37543"><td class="memTemplParams" colspan="2">template&lt;class T_CastFrom &gt; </td></tr>
<tr class="memitem:ac9cf06571175f4a4d8f3d2190bc37543"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#ac9cf06571175f4a4d8f3d2190bc37543">cast_dynamic</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp; src)</td></tr>
<tr class="memdesc:ac9cf06571175f4a4d8f3d2190bc37543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic cast to derived class. <a href="#ac9cf06571175f4a4d8f3d2190bc37543">More...</a><br/></td></tr>
<tr class="separator:ac9cf06571175f4a4d8f3d2190bc37543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace0fe6fbe81840a22e99791ba35c8877"><td class="memTemplParams" colspan="2">template&lt;class T_CastFrom &gt; </td></tr>
<tr class="memitem:ace0fe6fbe81840a22e99791ba35c8877"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#ace0fe6fbe81840a22e99791ba35c8877">cast_static</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp; src)</td></tr>
<tr class="memdesc:ace0fe6fbe81840a22e99791ba35c8877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static cast to derived class. <a href="#ace0fe6fbe81840a22e99791ba35c8877">More...</a><br/></td></tr>
<tr class="separator:ace0fe6fbe81840a22e99791ba35c8877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af72e59391dfafb761e6fd7efab1548d6"><td class="memTemplParams" colspan="2">template&lt;class T_CastFrom &gt; </td></tr>
<tr class="memitem:af72e59391dfafb761e6fd7efab1548d6"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#af72e59391dfafb761e6fd7efab1548d6">cast_const</a> (const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp; src)</td></tr>
<tr class="memdesc:af72e59391dfafb761e6fd7efab1548d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cast to non-const. <a href="#af72e59391dfafb761e6fd7efab1548d6">More...</a><br/></td></tr>
<tr class="separator:af72e59391dfafb761e6fd7efab1548d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb06d0326d1404fe72a9eb9eeb8dd981"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlom_1_1sharedptr.html#aeb06d0326d1404fe72a9eb9eeb8dd981">create</a> ()</td></tr>
<tr class="separator:aeb06d0326d1404fe72a9eb9eeb8dd981"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T_obj&gt;<br/>
class Glom::sharedptr&lt; T_obj &gt;</h3>

<p>A ref-counting smart-pointer for the underlying C++ object. </p>
<p>You can copy these smarpointers-of-C++-resources, and therefore the C++ classes can have simple copy constructors which just share the underlying resources. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="acb058473e72cf4f006a7a23ffbbdaf35"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef T_obj <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html#acb058473e72cf4f006a7a23ffbbdaf35">object_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a136c71f35df111e6f6bfa9e03e9917a0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00301.html#ad477e282dc33a113ed64628b9b32e3dd">size_t</a> <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html#a136c71f35df111e6f6bfa9e03e9917a0">size_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7749eb805a1a96911d3244bae89611a4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a915c7a122a951ec527f04ae985112ef1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramtype">T_obj *&#160;</td>
          <td class="paramname"><em>pobj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Take ownership. </p>

</div>
</div>
<a class="anchor" id="a7e090a36f58b2811717c25cab64cae14"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramtype">T_obj *&#160;</td>
          <td class="paramname"><em>pobj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classGlom_1_1sharedptr.html#a136c71f35df111e6f6bfa9e03e9917a0">size_type</a>*&#160;</td>
          <td class="paramname"><em>refcount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Take ownership. </p>
<p>This is only for internal use. </p>

</div>
</div>
<a class="anchor" id="a6102dbc1119f259160e667856633042b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Share ownership. </p>

</div>
</div>
<a class="anchor" id="a512b65f7a40867492db88c6a89930a51"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<div class="memtemplate">
template &lt;class T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor (from different, but castable type). </p>
<p>Increments the reference count. </p>

</div>
</div>
<a class="anchor" id="ab4de9a1efd217faa77e39a1813c4bd0b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::~<a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af72e59391dfafb761e6fd7efab1548d6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<div class="memtemplate">
template &lt;class T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::cast_const </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cast to non-const. </p>
<p>The sharedptr can't be cast with the usual notation so instead you can use </p>
<div class="fragment"><div class="line">* ptr_unconst = <a class="code" href="classGlom_1_1sharedptr.html#af72e59391dfafb761e6fd7efab1548d6">sharedptr&lt;UnConstType&gt;::cast_const</a>(ptr_const);</div>
<div class="line">* </div>
</div><!-- fragment --> </div>
</div>
<a class="anchor" id="ac9cf06571175f4a4d8f3d2190bc37543"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<div class="memtemplate">
template &lt;class T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::cast_dynamic </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dynamic cast to derived class. </p>
<p>The sharedptr can't be cast with the usual notation so instead you can use </p>
<div class="fragment"><div class="line">* ptr_derived = <a class="code" href="classGlom_1_1sharedptr.html#ac9cf06571175f4a4d8f3d2190bc37543">sharedptr&lt;Derived&gt;::cast_dynamic</a>(ptr_base);</div>
<div class="line">* </div>
</div><!-- fragment --> </div>
</div>
<a class="anchor" id="ace0fe6fbe81840a22e99791ba35c8877"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<div class="memtemplate">
template &lt;class T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::cast_static </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static cast to derived class. </p>
<p>Like the dynamic cast; the notation is </p>
<div class="fragment"><div class="line">* ptr_derived = <a class="code" href="classGlom_1_1sharedptr.html#ace0fe6fbe81840a22e99791ba35c8877">sharedptr&lt;Derived&gt;::cast_static</a>(ptr_base);</div>
<div class="line">* </div>
</div><!-- fragment --> </div>
</div>
<a class="anchor" id="a4d421575966613b3eb0862e1d0776419"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Forget the instance. </p>

</div>
</div>
<a class="anchor" id="aeb06d0326d1404fe72a9eb9eeb8dd981"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt;T_obj&gt; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4b254013a623c15f9040b4e26772d399"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T_obj* <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::obj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the underlying instance: </p>

</div>
</div>
<a class="anchor" id="a14b85493ef0d6ea82e6305050259ca84"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T_obj* <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::obj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the underlying instance: </p>

</div>
</div>
<a class="anchor" id="a2a9e0c086b97df95d465d39d29e5467b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator bool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether the sharedptr&lt;&gt; points to any underlying instance. </p>
<p>Mimics usage of ordinary pointers: </p>
<div class="fragment"><div class="line">* <span class="keywordflow">if</span>(ptr)</div>
<div class="line">* do_something();</div>
<div class="line">* </div>
</div><!-- fragment --> </div>
</div>
<a class="anchor" id="ad854eea3ed6f8bff576b1323d0f458f7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator! </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether the sharedptr&lt;&gt; points to any underlying instance. </p>
<p>Mimics usage of ordinary pointers: </p>
<div class="fragment"><div class="line">* <span class="keywordflow">if</span>(!ptr)</div>
<div class="line">* do_something();</div>
<div class="line">* </div>
</div><!-- fragment --> </div>
</div>
<a class="anchor" id="a107f3107052d1d026b54a7dde628cc13"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::<a class="el" href="classGlom_1_1sharedptr.html#ad854eea3ed6f8bff576b1323d0f458f7">operator!</a>= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ace647214b829e740d49a7a760341ee09"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T_obj&amp; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator* </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dereferencing. </p>

</div>
</div>
<a class="anchor" id="a249c5d4eef8f2c27c72c4b5c9807cc52"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T_obj&amp; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator* </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dereferencing. </p>

</div>
</div>
<a class="anchor" id="a3f3e93d6c6f2f2858f54abcaf3aecdcf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T_obj* <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator-&gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dereferencing. </p>
<p>Use the methods of the underlying instance like so: <code>sharedptr-&gt;memberfun()</code>. </p>

</div>
</div>
<a class="anchor" id="a1cdd392b3e161e02a16ca205ea54311a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_obj &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Share ownership. </p>

</div>
</div>
<a class="anchor" id="a9a3c4a52a541002ce237c05970b9f9ca"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj &gt; </div>
<div class="memtemplate">
template &lt;class T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp; <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy from different, but castable type). </p>
<p>Increments the reference count. </p>

</div>
</div>
<a class="anchor" id="af93fe9dabf864468837057cb430d6817"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a04d5ed27e0cb5ef44d49fadcfeafa928"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_obj&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlom_1_1sharedptr.html">Glom::sharedptr</a>&lt; T_obj &gt;::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlom_1_1sharedptr.html">sharedptr</a>&lt; T_obj &gt;&amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Swap the contents of two sharedptr&lt;&gt;. </p>
<p>This method swaps the internal pointers. This can be done safely without involving a reference/unreference cycle and is therefore highly efficient. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>libglom/sharedptr.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Dec 15 2013 12:25:07 for libglom-1.22 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>