Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 1193

crystalspace-doc-1.2.1-5mdv2010.0.i586.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>Crystal Space 1.2.1: csWeakRef&lt; T &gt; Class Template Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csWeakRef&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="csWeakRef" -->A weak reference.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="weakref_8h-source.html">csutil/weakref.h</a>&gt;</code>
<p>

<p>
<a href="classcsWeakRef-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 Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#11b7f728f8ca1b98900b687e68fffdab">csWeakRef</a> (const <a class="el" href="classcsPtr.html">csPtr</a>&lt; T &gt; &amp;newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a weak reference from a <a class="el" href="classcsPtr.html" title="A pointer encapsulator.">csPtr</a>.  <a href="#11b7f728f8ca1b98900b687e68fffdab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#ca95b86a6ae5156946f2df5df2570381">csWeakRef</a> (<a class="el" href="classcsWeakRef.html">csWeakRef</a> const &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Weak pointer copy constructor.  <a href="#ca95b86a6ae5156946f2df5df2570381"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#3eafb0c2223f85045a60a2a4180a4a3f">csWeakRef</a> (<a class="el" href="classcsRef.html">csRef</a>&lt; T &gt; const &amp;newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a weak reference from a csRef&lt;&gt;.  <a href="#3eafb0c2223f85045a60a2a4180a4a3f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#c64faca4f7677544b410f15885dc169a">csWeakRef</a> (T *newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a weak reference from a normal pointer.  <a href="#c64faca4f7677544b410f15885dc169a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#87badf815dbe45e0f7b47d5f3965c435">csWeakRef</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an empty weak reference.  <a href="#87badf815dbe45e0f7b47d5f3965c435"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#b2bc16f5ef7b1cae5ba0302cc5058c9b">IsValid</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Weak pointer validity check.  <a href="#b2bc16f5ef7b1cae5ba0302cc5058c9b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#4b76c171ce47d84d81892ae79b6f6fd4">operator *</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dereference underlying object.  <a href="#4b76c171ce47d84d81892ae79b6f6fd4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#a6466d1c980018ba8f16605c53a6d63d">operator T *</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast weak reference to a pointer to the underlying object.  <a href="#a6466d1c980018ba8f16605c53a6d63d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#7d17b009ac82d545ce093552e68706a3">operator-&gt;</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dereference underlying object.  <a href="#7d17b009ac82d545ce093552e68706a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#ad49d01833ae0b3c1c3c1f82586cf278">operator=</a> (<a class="el" href="classcsWeakRef.html">csWeakRef</a> const &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign another object to this weak reference.  <a href="#ad49d01833ae0b3c1c3c1f82586cf278"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#ee9ceafec91af653d2c5fe885af9bf92">operator=</a> (<a class="el" href="classcsPtr.html">csPtr</a>&lt; T &gt; newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <a class="el" href="classcsPtr.html" title="A pointer encapsulator.">csPtr</a> reference to this weak reference.  <a href="#ee9ceafec91af653d2c5fe885af9bf92"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#c74feea6be2084c8a3eaca03e512c7f5">operator=</a> (<a class="el" href="classcsRef.html">csRef</a>&lt; T &gt; const &amp;newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a csRef&lt;&gt; to this weak reference.  <a href="#c74feea6be2084c8a3eaca03e512c7f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#ee1273a4ca16b024bf2114d31d29a57b">operator=</a> (T *newobj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a raw object reference to this weak reference.  <a href="#ee1273a4ca16b024bf2114d31d29a57b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#bb80dae24d92a7528667caadf493e244">~csWeakRef</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Weak pointer destructor.  <a href="#bb80dae24d92a7528667caadf493e244"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#eac9873d01b42639c03c453a88eaab54">operator!=</a> (T *<a class="el" href="classcsWeakRef.html#7ef04b24be533273df8be254ef33fa22">obj</a>, const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if object pointed to by reference is different from obj.  <a href="#eac9873d01b42639c03c453a88eaab54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#24afe03609ed7f187765a7ea80961069">operator!=</a> (const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1, T *<a class="el" href="classcsWeakRef.html#7ef04b24be533273df8be254ef33fa22">obj</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if object pointed to by reference is different from obj.  <a href="#24afe03609ed7f187765a7ea80961069"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#a22267caa40927b1fd7b8b0b6fb35daa">operator!=</a> (const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1, const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the two references point to different object.  <a href="#a22267caa40927b1fd7b8b0b6fb35daa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#382e2831177e7aa01e9d2218750ff4b6">operator==</a> (T *<a class="el" href="classcsWeakRef.html#7ef04b24be533273df8be254ef33fa22">obj</a>, const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if object pointed to by reference is same as obj.  <a href="#382e2831177e7aa01e9d2218750ff4b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#d4fd36095e229026f91565ab2fc12856">operator==</a> (const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1, T *<a class="el" href="classcsWeakRef.html#7ef04b24be533273df8be254ef33fa22">obj</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if object pointed to by reference is same as obj.  <a href="#d4fd36095e229026f91565ab2fc12856"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsWeakRef.html#ef2c187a1684ce47ed35de24cb59d838">operator==</a> (const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r1, const <a class="el" href="classcsWeakRef.html">csWeakRef</a> &amp;r2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the two references point to same object.  <a href="#ef2c187a1684ce47ed35de24cb59d838"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br>
 class csWeakRef&lt; T &gt;</h3>

A weak reference. 
<p>
This is a reference to a reference counted object but in itself it doesn't increment the ref counter. As soon as the object is destroyed (i.e. the last REAL reference to it is removed) all weak references pointing to that object are cleared. This kind of reference is useful if you want to maintain some kind of cached objects that can safely be removed as soon as the last reference to it is gone.<p>
Note: this class assumes that the T type implements at least the following functions:<ul>
<li>AddRefOwner()</li><li>RemoveRefOwner()</li></ul>
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>An extended explanation on smart pointers - how they work and what type to use in what scenario - is contained in the User's manual, section "Correctly Using Smart Pointers". </dd></dl>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00050">50</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="87badf815dbe45e0f7b47d5f3965c435"></a><!-- doxytag: member="csWeakRef::csWeakRef" ref="87badf815dbe45e0f7b47d5f3965c435" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct an empty weak reference. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00084">84</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c64faca4f7677544b410f15885dc169a"></a><!-- doxytag: member="csWeakRef::csWeakRef" ref="c64faca4f7677544b410f15885dc169a" args="(T *newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a weak reference from a normal pointer. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00094">94</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3eafb0c2223f85045a60a2a4180a4a3f"></a><!-- doxytag: member="csWeakRef::csWeakRef" ref="3eafb0c2223f85045a60a2a4180a4a3f" args="(csRef&lt; T &gt; const &amp;newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>&lt; T &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a weak reference from a csRef&lt;&gt;. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00106">106</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ca95b86a6ae5156946f2df5df2570381"></a><!-- doxytag: member="csWeakRef::csWeakRef" ref="ca95b86a6ae5156946f2df5df2570381" args="(csWeakRef const &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Weak pointer copy constructor. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00118">118</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="11b7f728f8ca1b98900b687e68fffdab"></a><!-- doxytag: member="csWeakRef::csWeakRef" ref="11b7f728f8ca1b98900b687e68fffdab" args="(const csPtr&lt; T &gt; &amp;newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsPtr.html">csPtr</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a weak reference from a <a class="el" href="classcsPtr.html" title="A pointer encapsulator.">csPtr</a>. 
<p>
This will put the object in the weak reference and then it will release the reference. 
<p>Definition at line <a class="el" href="weakref_8h-source.html#l00130">130</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bb80dae24d92a7528667caadf493e244"></a><!-- doxytag: member="csWeakRef::~csWeakRef" ref="bb80dae24d92a7528667caadf493e244" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::~<a class="el" href="classcsWeakRef.html">csWeakRef</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Weak pointer destructor. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00143">143</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b2bc16f5ef7b1cae5ba0302cc5058c9b"></a><!-- doxytag: member="csWeakRef::IsValid" ref="b2bc16f5ef7b1cae5ba0302cc5058c9b" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::IsValid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Weak pointer validity check. 
<p>
Returns true if weak reference is pointing at an actual object, otherwise returns false. 
<p>Definition at line <a class="el" href="weakref_8h-source.html#l00252">252</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b76c171ce47d84d81892ae79b6f6fd4"></a><!-- doxytag: member="csWeakRef::operator *" ref="4b76c171ce47d84d81892ae79b6f6fd4" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator *           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dereference underlying object. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00245">245</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a6466d1c980018ba8f16605c53a6d63d"></a><!-- doxytag: member="csWeakRef::operator T *" ref="a6466d1c980018ba8f16605c53a6d63d" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator T *           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cast weak reference to a pointer to the underlying object. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00241">241</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

<p>References <a class="el" href="weakref_8h-source.html#l00055">csWeakRef&lt; T &gt;::obj</a>.</p>

</div>
</div><p>
<a class="anchor" name="7d17b009ac82d545ce093552e68706a3"></a><!-- doxytag: member="csWeakRef::operator-&gt;" ref="7d17b009ac82d545ce093552e68706a3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T* <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator-&gt;           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dereference underlying object. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00237">237</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ad49d01833ae0b3c1c3c1f82586cf278"></a><!-- doxytag: member="csWeakRef::operator=" ref="ad49d01833ae0b3c1c3c1f82586cf278" args="(csWeakRef const &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&amp; <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign another object to this weak reference. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00199">199</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee9ceafec91af653d2c5fe885af9bf92"></a><!-- doxytag: member="csWeakRef::operator=" ref="ee9ceafec91af653d2c5fe885af9bf92" args="(csPtr&lt; T &gt; newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&amp; <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsPtr.html">csPtr</a>&lt; T &gt;&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign a <a class="el" href="classcsPtr.html" title="A pointer encapsulator.">csPtr</a> reference to this weak reference. 
<p>
This will cause a DecRef() on the pointer. 
<p>Definition at line <a class="el" href="weakref_8h-source.html#l00184">184</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c74feea6be2084c8a3eaca03e512c7f5"></a><!-- doxytag: member="csWeakRef::operator=" ref="c74feea6be2084c8a3eaca03e512c7f5" args="(csRef&lt; T &gt; const &amp;newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&amp; <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>&lt; T &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign a csRef&lt;&gt; to this weak reference. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00169">169</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee1273a4ca16b024bf2114d31d29a57b"></a><!-- doxytag: member="csWeakRef::operator=" ref="ee1273a4ca16b024bf2114d31d29a57b" args="(T *newobj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsWeakRef.html">csWeakRef</a>&amp; <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>newobj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign a raw object reference to this weak reference. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00155">155</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

<p>Referenced by <a class="el" href="weakref_8h-source.html#l00199">csWeakRef&lt; csEventQueue &gt;::operator=()</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="eac9873d01b42639c03c453a88eaab54"></a><!-- doxytag: member="csWeakRef::operator!=" ref="eac9873d01b42639c03c453a88eaab54" args="(T *obj, const csWeakRef &amp;r1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator!=           </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if object pointed to by reference is different from obj. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00231">231</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="24afe03609ed7f187765a7ea80961069"></a><!-- doxytag: member="csWeakRef::operator!=" ref="24afe03609ed7f187765a7ea80961069" args="(const csWeakRef &amp;r1, T *obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if object pointed to by reference is different from obj. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00221">221</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a22267caa40927b1fd7b8b0b6fb35daa"></a><!-- doxytag: member="csWeakRef::operator!=" ref="a22267caa40927b1fd7b8b0b6fb35daa" args="(const csWeakRef &amp;r1, const csWeakRef &amp;r2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the two references point to different object. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00211">211</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="382e2831177e7aa01e9d2218750ff4b6"></a><!-- doxytag: member="csWeakRef::operator==" ref="382e2831177e7aa01e9d2218750ff4b6" args="(T *obj, const csWeakRef &amp;r1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator==           </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if object pointed to by reference is same as obj. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00226">226</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d4fd36095e229026f91565ab2fc12856"></a><!-- doxytag: member="csWeakRef::operator==" ref="d4fd36095e229026f91565ab2fc12856" args="(const csWeakRef &amp;r1, T *obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if object pointed to by reference is same as obj. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00216">216</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ef2c187a1684ce47ed35de24cb59d838"></a><!-- doxytag: member="csWeakRef::operator==" ref="ef2c187a1684ce47ed35de24cb59d838" args="(const csWeakRef &amp;r1, const csWeakRef &amp;r2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsWeakRef.html">csWeakRef</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>r2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the two references point to same object. 
<p>

<p>Definition at line <a class="el" href="weakref_8h-source.html#l00206">206</a> of file <a class="el" href="weakref_8h-source.html">weakref.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="weakref_8h-source.html">weakref.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>