aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02519.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a02519.html550
1 files changed, 550 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02519.html b/docs/doxygen/nel/a02519.html
new file mode 100644
index 00000000..558a1bd7
--- /dev/null
+++ b/docs/doxygen/nel/a02519.html
@@ -0,0 +1,550 @@
+<!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: NL3D::CFastPtrListBase 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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CFastPtrListBase Class Reference</h1><code>#include &lt;<a class="el" href="a05705.html">fast_ptr_list.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CFastPtrListBase:
+<p><center><img src="a02519.png" usemap="#NL3D::CFastPtrListBase_map" border="0" alt=""></center>
+<map name="NL3D::CFastPtrListBase_map">
+<area href="a02518.html" alt="NL3D::CFastPtrList< T >" shape="rect" coords="0,56,149,80">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class store actually an array of void*, for very fast acces (list is slower because of RAM access). <a class="el" href="a02519.html">CFastPtrListBase</a> advantages are the <a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea6">insert()</a> and <a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea5">erase()</a> are in O(1) Overhead Cost is 8 bytes per node + 4 bytes in the _Nodes array. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00080">80</a> of file <a class="el" href="a05705.html">fast_ptr_list.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>void **&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea0">begin</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the head on the array of elements. NULL if none. <a href="#NL3D_1_1CFastPtrListBasea0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea1">CFastPtrListBase</a> (const <a class="el" href="a02519.html">CFastPtrListBase</a> &amp;o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea2">CFastPtrListBase</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CFastPtrListBasea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea3">clear</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clear the list <a href="#NL3D_1_1CFastPtrListBasea3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea4">empty</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea5">erase</a> (<a class="el" href="a02520.html">CFastPtrListNode</a> *node)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">erase an element in the list through its Node. No-op if the list does not have this element <a href="#NL3D_1_1CFastPtrListBasea5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea6">insert</a> (void *element, <a class="el" href="a02520.html">CFastPtrListNode</a> *node)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">insert an element in the list through its Node, unlinking older if necessary <a href="#NL3D_1_1CFastPtrListBasea6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02519.html">CFastPtrListBase</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea7">operator=</a> (const <a class="el" href="a02519.html">CFastPtrListBase</a> &amp;o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea8">size</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the number of elements <a href="#NL3D_1_1CFastPtrListBasea8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBasea9">~CFastPtrListBase</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; void * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02520.html">CFastPtrListNode</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea2" doxytag="NL3D::CFastPtrListBase::CFastPtrListBase" ></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"> NL3D::CFastPtrListBase::CFastPtrListBase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00084">84</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+<div class="fragment"><pre>00084 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea1" doxytag="NL3D::CFastPtrListBase::CFastPtrListBase" ></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"> NL3D::CFastPtrListBase::CFastPtrListBase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02519.html">CFastPtrListBase</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00085">85</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+<div class="fragment"><pre>00085 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea9" doxytag="NL3D::CFastPtrListBase::~CFastPtrListBase" ></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"> NL3D::CFastPtrListBase::~<a class="el" href="a02519.html">CFastPtrListBase</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05704.html#l00049">49</a> of file <a class="el" href="a05704.html">fast_ptr_list.cpp</a>.
+<p>
+References <a class="el" href="a05704.html#l00056">clear()</a>.
+<p>
+<div class="fragment"><pre>00050 {
+00051 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBasea3">clear</a>();
+00052 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea0" doxytag="NL3D::CFastPtrListBase::begin" ></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"> void** NL3D::CFastPtrListBase::begin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the head on the array of elements. NULL if none.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista0">NL3D::CFastPtrList&lt; T &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista0">NL3D::CFastPtrList&lt; CQuadGridClipCluster &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista0">NL3D::CFastPtrList&lt; CPointLightModel &gt;</a>, and <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista0">NL3D::CFastPtrList&lt; CTransform &gt;</a>.
+<p>
+Definition at line <a class="el" href="a05705.html#l00094">94</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+References <a class="el" href="a05705.html#l00108">_Elements</a>.
+<p>
+<div class="fragment"><pre>00094 { <span class="keywordflow">if</span>(<a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>.empty()) <span class="keywordflow">return</span> NULL; <span class="keywordflow">else</span> <span class="keywordflow">return</span> &amp;<a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>[0];}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea3" doxytag="NL3D::CFastPtrListBase::clear" ></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"> void NL3D::CFastPtrListBase::clear </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+clear the list
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista2">NL3D::CFastPtrList&lt; T &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista2">NL3D::CFastPtrList&lt; CQuadGridClipCluster &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista2">NL3D::CFastPtrList&lt; CPointLightModel &gt;</a>, and <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista2">NL3D::CFastPtrList&lt; CTransform &gt;</a>.
+<p>
+Definition at line <a class="el" href="a05704.html#l00056">56</a> of file <a class="el" href="a05704.html">fast_ptr_list.cpp</a>.
+<p>
+References <a class="el" href="a05705.html#l00109">_Nodes</a>, <a class="el" href="a05704.html#l00087">erase()</a>, and <a class="el" href="a05705.html#l00096">size()</a>.
+<p>
+Referenced by <a class="el" href="a05704.html#l00049">~CFastPtrListBase()</a>.
+<p>
+<div class="fragment"><pre>00057 {
+00058 <span class="keywordflow">while</span>(<a class="code" href="a02519.html#NL3D_1_1CFastPtrListBasea8">size</a>())
+00059 {
+00060 CFastPtrListNode *node= <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>[0];
+00061 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBasea5">erase</a>(node);
+00062 }
+00063 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea4" doxytag="NL3D::CFastPtrListBase::empty" ></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"> bool NL3D::CFastPtrListBase::empty </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista3">NL3D::CFastPtrList&lt; T &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista3">NL3D::CFastPtrList&lt; CQuadGridClipCluster &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista3">NL3D::CFastPtrList&lt; CPointLightModel &gt;</a>, and <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista3">NL3D::CFastPtrList&lt; CTransform &gt;</a>.
+<p>
+Definition at line <a class="el" href="a05705.html#l00097">97</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+References <a class="el" href="a05705.html#l00108">_Elements</a>.
+<p>
+<div class="fragment"><pre>00097 {<span class="keywordflow">return</span> <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>.empty();}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea5" doxytag="NL3D::CFastPtrListBase::erase" ></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"> void NL3D::CFastPtrListBase::erase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02520.html">CFastPtrListNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>node</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+erase an element in the list through its Node. No-op if the list does not have this element
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista4">NL3D::CFastPtrList&lt; T &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista4">NL3D::CFastPtrList&lt; CQuadGridClipCluster &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista4">NL3D::CFastPtrList&lt; CPointLightModel &gt;</a>, and <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista4">NL3D::CFastPtrList&lt; CTransform &gt;</a>.
+<p>
+Definition at line <a class="el" href="a05704.html#l00087">87</a> of file <a class="el" href="a05704.html">fast_ptr_list.cpp</a>.
+<p>
+References <a class="el" href="a05705.html#l00108">_Elements</a>, <a class="el" href="a05705.html#l00067">NL3D::CFastPtrListNode::_IndexInOwner</a>, <a class="el" href="a05705.html#l00109">_Nodes</a>, <a class="el" href="a05705.html#l00066">NL3D::CFastPtrListNode::_Owner</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05704.html#l00056">clear()</a>, and <a class="el" href="a05704.html#l00037">NL3D::CFastPtrListNode::unlink()</a>.
+<p>
+<div class="fragment"><pre>00088 {
+00089 <span class="comment">// not mine?</span>
+00090 <span class="keywordflow">if</span>(node-&gt;_Owner!=<span class="keyword">this</span>)
+00091 <span class="keywordflow">return</span>;
+00092
+00093 <span class="comment">// Take the indexes,</span>
+00094 <a class="code" href="a04558.html#a15">uint</a> nodeIndex= node-&gt;_IndexInOwner;
+00095 <a class="code" href="a04558.html#a15">uint</a> lastIndex= <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>.size()-1;
+00096
+00097 <span class="comment">// swap the last element and the erased one.</span>
+00098 swap(_Elements[nodeIndex], _Elements[lastIndex]);
+00099 swap(_Nodes[nodeIndex], _Nodes[lastIndex]);
+00100 <span class="comment">// change the swapped node index. NB: work also in the particular case nodeIndex==lastIndex</span>
+00101 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>[nodeIndex]-&gt;_IndexInOwner= nodeIndex;
+00102 <span class="comment">// erase the last elements</span>
+00103 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>.pop_back();
+00104 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>.pop_back();
+00105
+00106 <span class="comment">// reset erased node.</span>
+00107 node-&gt;_Owner= NULL;
+00108 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea6" doxytag="NL3D::CFastPtrListBase::insert" ></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"> void NL3D::CFastPtrListBase::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>element</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02520.html">CFastPtrListNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>node</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+insert an element in the list through its Node, unlinking older if necessary
+<p>
+
+<p>
+Definition at line <a class="el" href="a05704.html#l00067">67</a> of file <a class="el" href="a05704.html">fast_ptr_list.cpp</a>.
+<p>
+References <a class="el" href="a05705.html#l00108">_Elements</a>, <a class="el" href="a05705.html#l00067">NL3D::CFastPtrListNode::_IndexInOwner</a>, <a class="el" href="a05705.html#l00109">_Nodes</a>, <a class="el" href="a05705.html#l00066">NL3D::CFastPtrListNode::_Owner</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05704.html#l00037">NL3D::CFastPtrListNode::unlink()</a>.
+<p>
+<div class="fragment"><pre>00068 {
+00069 <a class="code" href="a04199.html#a6">nlassert</a>(element);
+00070 <a class="code" href="a04199.html#a6">nlassert</a>(node);
+00071
+00072 <span class="comment">// if this node is already linked to me, no-op!</span>
+00073 <span class="keywordflow">if</span>(node-&gt;_Owner==<span class="keyword">this</span>)
+00074 <span class="keywordflow">return</span>;
+00075
+00076 <span class="comment">// first unlink the node from its older list if any.</span>
+00077 node-&gt;unlink();
+00078
+00079 <span class="comment">// then add the elements to the list, and update node info</span>
+00080 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>.push_back(element);
+00081 <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>.push_back(node);
+00082 node-&gt;_Owner= <span class="keyword">this</span>;
+00083 node-&gt;_IndexInOwner= <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser1">_Nodes</a>.size()-1;
+00084 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea7" doxytag="NL3D::CFastPtrListBase::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="a02519.html">CFastPtrListBase</a>&amp; NL3D::CFastPtrListBase::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02519.html">CFastPtrListBase</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00103">103</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+<div class="fragment"><pre>00103 {<span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBasea8" doxytag="NL3D::CFastPtrListBase::size" ></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#a15">uint</a> NL3D::CFastPtrListBase::size </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the number of elements
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista7">NL3D::CFastPtrList&lt; T &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista7">NL3D::CFastPtrList&lt; CQuadGridClipCluster &gt;</a>, <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista7">NL3D::CFastPtrList&lt; CPointLightModel &gt;</a>, and <a class="el" href="a02518.html#NL3D_1_1CFastPtrLista7">NL3D::CFastPtrList&lt; CTransform &gt;</a>.
+<p>
+Definition at line <a class="el" href="a05705.html#l00096">96</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+References <a class="el" href="a05705.html#l00108">_Elements</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05704.html#l00056">clear()</a>.
+<p>
+<div class="fragment"><pre>00096 {<span class="keywordflow">return</span> <a class="code" href="a02519.html#NL3D_1_1CFastPtrListBaser0">_Elements</a>.size();}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CFastPtrListBaser0" doxytag="NL3D::CFastPtrListBase::_Elements" ></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"> std::vector&lt;void*&gt; <a class="el" href="a02519.html#NL3D_1_1CFastPtrListBaser0">NL3D::CFastPtrListBase::_Elements</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00108">108</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+Referenced by <a class="el" href="a05705.html#l00094">begin()</a>, <a class="el" href="a05705.html#l00097">empty()</a>, <a class="el" href="a05704.html#l00087">erase()</a>, <a class="el" href="a05704.html#l00067">insert()</a>, and <a class="el" href="a05705.html#l00096">size()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CFastPtrListBaser1" doxytag="NL3D::CFastPtrListBase::_Nodes" ></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"> std::vector&lt;<a class="el" href="a02520.html">CFastPtrListNode</a>*&gt; <a class="el" href="a02519.html#NL3D_1_1CFastPtrListBaser1">NL3D::CFastPtrListBase::_Nodes</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05705.html#l00109">109</a> of file <a class="el" href="a05705.html">fast_ptr_list.h</a>.
+<p>
+Referenced by <a class="el" href="a05704.html#l00056">clear()</a>, <a class="el" href="a05704.html#l00087">erase()</a>, and <a class="el" href="a05704.html#l00067">insert()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05705.html">fast_ptr_list.h</a><li><a class="el" href="a05704.html">fast_ptr_list.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:46:32 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>