diff options
Diffstat (limited to 'docs/doxygen/nel/a02209.html')
-rw-r--r-- | docs/doxygen/nel/a02209.html | 388 |
1 files changed, 388 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02209.html b/docs/doxygen/nel/a02209.html new file mode 100644 index 00000000..373b0d07 --- /dev/null +++ b/docs/doxygen/nel/a02209.html @@ -0,0 +1,388 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLMISC::CRefCount class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CRefCount Class Reference</h1><code>#include <<a class="el" href="a06402.html">smart_ptr.h</a>></code> +<p> +<p>Inheritance diagram for NLMISC::CRefCount: +<p><center><img src="a02209.png" usemap="#NLMISC::CRefCount_map" border="0" alt=""></center> +<map name="NLMISC::CRefCount_map"> +<area href="a02208.html" alt="NL3D::CAnimationPlaylist" shape="rect" coords="205,56,400,80"> +<area href="a02210.html" alt="NL3D::CAnimationSet" shape="rect" coords="205,112,400,136"> +<area href="a02279.html" alt="NL3D::CBoneBase" shape="rect" coords="205,168,400,192"> +<area href="a02335.html" alt="NL3D::CChannelMixer" shape="rect" coords="205,224,400,248"> +<area href="a02702.html" alt="NL3D::CLandscape" shape="rect" coords="205,280,400,304"> +<area href="a02839.html" alt="NL3D::CMaterial" shape="rect" coords="205,336,400,360"> +<area href="a02846.html" alt="NL3D::CMaterialBase" shape="rect" coords="205,392,400,416"> +<area href="a02936.html" alt="NL3D::CMorphBase" shape="rect" coords="205,448,400,472"> +<area href="a03041.html" alt="NL3D::CParticleSystem" shape="rect" coords="205,504,400,528"> +<area href="a03069.html" alt="NL3D::CPatchRdrPass" shape="rect" coords="205,560,400,584"> +<area href="a03496.html" alt="NL3D::CTextureDrvShare" shape="rect" coords="205,616,400,640"> +<area href="a02316.html" alt="NL3D::CTransform" shape="rect" coords="205,672,400,696"> +<area href="a03692.html" alt="NL3D::CVertexBuffer" shape="rect" coords="205,728,400,752"> +<area href="a03702.html" alt="NL3D::CVertexProgram" shape="rect" coords="205,784,400,808"> +<area href="a03732.html" alt="NL3D::CZone::CTessBaseVertex" shape="rect" coords="205,840,400,864"> +<area href="a02434.html" alt="NL3D::IDriver" shape="rect" coords="205,896,400,920"> +<area href="a02916.html" alt="NL3D::IMeshVertexProgram" shape="rect" coords="205,952,400,976"> +<area href="a03877.html" alt="NL3D::IShader" shape="rect" coords="205,1008,400,1032"> +<area href="a02539.html" alt="NL3D::IShape" shape="rect" coords="205,1064,400,1088"> +<area href="a03487.html" alt="NL3D::ITexture" shape="rect" coords="205,1120,400,1144"> +<area href="a03879.html" alt="NL3D::ITextureDrvInfos" shape="rect" coords="205,1176,400,1200"> +<area href="a03883.html" alt="NL3D::IVBDrvInfos" shape="rect" coords="205,1232,400,1256"> +<area href="a03694.html" alt="NL3D::IVertexBufferHard" shape="rect" coords="205,1288,400,1312"> +<area href="a03885.html" alt="NL3D::IVertexProgramDrvInfos" shape="rect" coords="205,1344,400,1368"> +<area href="a03926.html" alt="NLGEORGES::UForm" shape="rect" coords="205,1400,400,1424"> +<area href="a02547.html" alt="NLGEORGES::UFormDfn" shape="rect" coords="205,1456,400,1480"> +<area href="a03623.html" alt="NLGEORGES::UType" shape="rect" coords="205,1512,400,1536"> +<area href="a03852.html" alt="NLMISC::IEventEmitter" shape="rect" coords="205,1568,400,1592"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +To use <a class="el" href="a03408.html">CSmartPtr</a> or <a class="el" href="a03321.html">CRefPtr</a>, derive from this class. Your class doens't have to be virtual, or doesn't have to provide a virtual dtor. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00048">48</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLMISC_1_1CRefCounta0">CRefCount</a> (const <a class="el" href="a02209.html">CRefCount</a> &)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">copy cons must NOT copy crefs/pinfo!! <a href="#NLMISC_1_1CRefCounta0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLMISC_1_1CRefCounta1">CRefCount</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor init crefs to 0. <a href="#NLMISC_1_1CRefCounta1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypea8">getRefCount</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02209.html">CRefCount</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLMISC_1_1CRefCounta3">operator=</a> (const <a class="el" href="a02209.html">CRefCount</a> &)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">operator= must NOT copy crefs/pinfo!! <a href="#NLMISC_1_1CRefCounta3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLMISC_1_1CRefCounta4">~CRefCount</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor which release pinfo if necessary. <a href="#NLMISC_1_1CRefCounta4"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03320.html">CPtrInfo</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a></td></tr> + +<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03320.html">CPtrInfo</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a></td></tr> + +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLMISC_1_1CRefCounta4" doxytag="NLMISC::CRefCount::~CRefCount" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CRefCount::~<a class="el" href="a02209.html">CRefCount</a> </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 which release pinfo if necessary. +<p> + +<p> +Definition at line <a class="el" href="a06403.html#l00044">44</a> of file <a class="el" href="a06403.html">smart_ptr_inline.h</a>. +<p> +References <a class="el" href="a06402.html#l00079">crefs</a>, <a class="el" href="a06402.html#l00058">NLMISC::CRefCount::CPtrInfo::IsNullPtrInfo</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06402.html#l00080">pinfo</a>, and <a class="el" href="a06402.html#l00055">NLMISC::CRefCount::CPtrInfo::Ptr</a>. +<p> +<div class="fragment"><pre>00045 { +00046 <span class="comment">// This is the destruction of the objet.</span> +00047 <span class="preprocessor">#ifdef NL_DEBUG</span> +00048 <span class="preprocessor"></span> <a class="code" href="a04199.html#a6">nlassert</a>(crefs==0); +00049 <span class="preprocessor">#endif</span> +00050 <span class="preprocessor"></span> +00051 <span class="comment">// If a CRefPtr still points on me...</span> +00052 <span class="keywordflow">if</span>(!<a class="code" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a>-><a class="code" href="a03320.html#NLMISC_1_1CRefCount_1_1CPtrInfoo0">IsNullPtrInfo</a>) +00053 { +00054 <span class="comment">// inform them of my destruction.</span> +00055 <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a>-><a class="code" href="a03320.html#NLMISC_1_1CRefCount_1_1CPtrInfoo1">Ptr</a>= NULL; +00056 } +00057 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRefCounta1" doxytag="NLMISC::CRefCount::CRefCount" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CRefCount::CRefCount </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 init crefs to 0. +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00085">85</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +References <a class="el" href="a06402.html#l00079">crefs</a>, <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a>, and <a class="el" href="a06402.html#l00080">pinfo</a>. +<p> +<div class="fragment"><pre>00085 { <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a> = 0; <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a>=&<a class="code" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRefCounta0" doxytag="NLMISC::CRefCount::CRefCount" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CRefCount::CRefCount </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02209.html">CRefCount</a> & </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> +copy cons must NOT copy crefs/pinfo!! +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00089">89</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +References <a class="el" href="a06402.html#l00079">crefs</a>, <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a>, and <a class="el" href="a06402.html#l00080">pinfo</a>. +<p> +<div class="fragment"><pre>00089 {<a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a> = 0; <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a>=&<a class="code" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</a>;} +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLGEORGES_1_1UTypea8" doxytag="NLMISC::CRefCount::getRefCount" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a14">sint</a>& NLMISC::CRefCount::getRefCount </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> + +<p> +Definition at line <a class="el" href="a06402.html#l00070">70</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +References <a class="el" href="a06402.html#l00079">crefs</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00071 { +00072 <span class="keywordflow">return</span> <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a>; +00073 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRefCounta3" doxytag="NLMISC::CRefCount::operator=" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02209.html">CRefCount</a>& NLMISC::CRefCount::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02209.html">CRefCount</a> & </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> +operator= must NOT copy crefs/pinfo!! +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00087">87</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +<div class="fragment"><pre>00087 {<span class="keywordflow">return</span> *<span class="keyword">this</span>;} +</pre></div> </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a class="anchor" name="NLGEORGES_1_1UTypen0" doxytag="NLMISC::CRefCount::CPtrInfo" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend struct <a class="el" href="a03320.html">CPtrInfo</a><code> [friend]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00067">67</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLGEORGES_1_1UTypeo0" doxytag="NLMISC::CRefCount::crefs" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">NLMISC::CRefCount::crefs</a><code> [mutable]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00079">79</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +Referenced by <a class="el" href="a06402.html#l00085">CRefCount()</a>, <a class="el" href="a06402.html#l00070">getRefCount()</a>, and <a class="el" href="a06403.html#l00044">~CRefCount()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypes0" doxytag="NLMISC::CRefCount::NullPtrInfo" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03320.html">CRefCount::CPtrInfo</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NLMISC::CRefCount::NullPtrInfo</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06402.html#l00085">CRefCount()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypeo1" doxytag="NLMISC::CRefCount::pinfo" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03320.html">CPtrInfo</a>* <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">NLMISC::CRefCount::pinfo</a><code> [mutable]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06402.html#l00080">80</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +Referenced by <a class="el" href="a06402.html#l00085">CRefCount()</a>, and <a class="el" href="a06403.html#l00044">~CRefCount()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06402.html">smart_ptr.h</a><li><a class="el" href="a06401.html">smart_ptr.cpp</a><li><a class="el" href="a06403.html">smart_ptr_inline.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:31:27 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |