diff options
Diffstat (limited to 'docs/doxygen/nel/ident_8h-source.html')
-rw-r--r-- | docs/doxygen/nel/ident_8h-source.html | 621 |
1 files changed, 621 insertions, 0 deletions
diff --git a/docs/doxygen/nel/ident_8h-source.html b/docs/doxygen/nel/ident_8h-source.html new file mode 100644 index 00000000..7952466f --- /dev/null +++ b/docs/doxygen/nel/ident_8h-source.html @@ -0,0 +1,621 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.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">Compound List</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">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>ident.h</h1><a href="ident_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font> +00008 <font class="comment"> *</font> +00009 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00013 <font class="comment"> * any later version.</font> +00014 <font class="comment"></font> +00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"></font> +00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00023 <font class="comment"> * MA 02111-1307, USA.</font> +00024 <font class="comment"> */</font> +00025 +00026 +00027 <font class="preprocessor">#ifndef NL_IDENTIFIANT_H</font> +00028 <font class="preprocessor"></font><font class="preprocessor">#define NL_IDENTIFIANT_H</font> +00029 <font class="preprocessor"></font><font class="preprocessor">#include <stdlib.h></font> +00030 <font class="preprocessor">#include "<a class="code" href="file_8h.html">nel/misc/file.h</a>"</font> +00031 <font class="preprocessor">#include "<a class="code" href="ai__exception_8h.html">nel/ai/e/ai_exception.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="agent__string_8h.html">nel/ai/agent/agent_string.h</a>"</font> +00033 <font class="preprocessor">#include "<a class="code" href="identtype_8h.html">nel/ai/agent/identtype.h</a>"</font> +00034 +00035 <font class="keyword">namespace </font>NLAIAGENT +00036 { +00037 <font class="keyword">class </font>IRefrence; +00038 +00039 +00040 +00050 <font class="keyword">template</font><<font class="keyword">class </font>T = <a class="code" href="types__nl_8h.html#a11">sint64</a>, <a class="code" href="types__nl_8h.html#a9">sint32</a> indexMax = <a class="code" href="namespaceNLAIAGENT.html#a10">maxIndex</a>, T maxT = (T)-1> +<a name="l00051"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html">00051</a> <font class="keyword">class </font>CIndexVariant +00052 { +00053 <font class="keyword">protected</font>: +<a name="l00055"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">00055</a> T <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[indexMax]; +00056 <font class="keyword">private</font>: +00057 +<a name="l00064"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#c0">00064</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#c0">inc</a>(<font class="keywordtype">int</font> n) +00065 { +00066 <font class="keywordflow">if</font> (n == <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>()) +00067 { +00068 <font class="comment">// The highest Number as been reach.</font> +00069 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00070 } +00071 +00072 <font class="keywordflow">if</font> (<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[n] == maxT) +00073 { +00074 <font class="comment">// If an index is max, we increment the next index.</font> +00075 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#c0">inc</a>(n+1); +00076 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[n] = 0; +00077 } +00078 <font class="keywordflow">else</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[n]++; +00079 } +00080 <font class="keyword">public</font>: +00081 +00082 +<a name="l00084"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">00084</a> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">CIndexVariant</a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a) +00085 { +00086 memcpy(<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>,a._Id,<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>()*<font class="keyword">sizeof</font>(T)); +00087 } +00088 +<a name="l00090"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a1">00090</a> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">CIndexVariant</a>(<font class="keyword">const</font> T *<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>) +00091 { +00092 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00093 { +00094 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] = <a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>[i]; +00095 } +00096 } +00097 +<a name="l00099"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a2">00099</a> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">CIndexVariant</a>(T n) +00100 { +00101 <font class="comment">/*for(sint32 i = 0; i < getMaxIndex(); i ++) </font> +00102 <font class="comment"> {</font> +00103 <font class="comment"> _Id[i] = n;</font> +00104 <font class="comment"> }*/</font> +00105 *<font class="keyword">this</font> = n; +00106 } +00107 +00108 +<a name="l00110"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a3">00110</a> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">CIndexVariant</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00111 { +00112 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a6">load</a>(is); +00113 } +00114 +<a name="l00116"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a4">00116</a> <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a0">CIndexVariant</a> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a4">operator ++</a>(<font class="keywordtype">int</font>) +00117 { +00118 <font class="keywordflow">try</font> +00119 { +00120 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#c0">inc</a>(0); +00121 } +00122 <font class="keywordflow">catch</font>(<a class="code" href="classNLAIE_1_1IException.html">NLAIE::IException</a> &e) +00123 { +00124 <font class="keywordflow">throw</font> e; +00125 } +00126 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00127 } +00128 +00130 +<a name="l00131"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z147_0">00131</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z147_0">operator == </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a)<font class="keyword"> const</font> +00132 <font class="keyword"> </font>{ +00133 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00134 { +00135 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] != a._Id[i]) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00136 } +00137 +00138 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00139 } +00140 +<a name="l00141"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z147_1">00141</a> <font class="keywordtype">bool</font> operator < (const CIndexVariant<T,indexMax,maxT> &a) <font class="keyword">const</font> +00142 { +00143 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = a.getMaxIndex()-1; i >= 0; i --) +00144 { +00145 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] < a._Id[i]) <font class="keywordflow">return</font> <font class="keyword">true</font>; +00146 } +00147 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00148 } +00149 +<a name="l00150"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z147_2">00150</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z147_2">operator > </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a)<font class="keyword"> const</font> +00151 <font class="keyword"> </font>{ +00152 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = a.getMaxIndex()-1; i >= 0; i --) +00153 { +00154 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] > a._Id[i]) <font class="keywordflow">return</font> <font class="keyword">true</font>; +00155 } +00156 +00157 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00158 } +00160 +00162 +<a name="l00163"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_0">00163</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_0">operator |= </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a) +00164 { +00165 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00166 { +00167 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] |= a._Id[i]; +00168 } +00169 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00170 } +<a name="l00171"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_1">00171</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_1">operator &= </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a) +00172 { +00173 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00174 { +00175 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] &= a._Id[i]; +00176 } +00177 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00178 } +00179 +<a name="l00180"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_2">00180</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z148_2">operator ^= </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a) +00181 { +00182 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00183 { +00184 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] ^= a._Id[i]; +00185 } +00186 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00187 } +00189 +00191 +<a name="l00192"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_0">00192</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_0">operator = </a>(<font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &a) +00193 { +00194 <font class="keywordflow">for</font>(<a class="code" href="types__nl_8h.html#a9">sint32</a> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00195 { +00196 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] = a._Id[i]; +00197 } +00198 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00199 } +00200 +<a name="l00201"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_1">00201</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_0">operator = </a>(T a) +00202 { +00203 memset(<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>,0,<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>()*<font class="keyword">sizeof</font>(T)); +00204 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[0] = a; +00205 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00206 } +00207 +<a name="l00208"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_2">00208</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_2">operator >>= </a>(<a class="code" href="types__nl_8h.html#a13">sint</a> a) +00209 { +00210 T bits = 1; +00211 T <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a>; +00212 T bitlen = 8*<font class="keyword">sizeof</font>(T) - a; +00213 <a class="code" href="types__nl_8h.html#a13">sint</a> i; +00214 +00215 bits <<= a; +00216 bits -= 1; +00217 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[0] >>= a; +00218 <font class="keywordflow">for</font>(i = 1; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00219 { +00220 <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a> = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] & bits; +00221 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] >>= a; +00222 <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a> <<= bitlen; +00223 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i - 1] |= <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a>; +00224 } +00225 +00226 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00227 } +00228 +<a name="l00229"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_3">00229</a> <font class="keyword">const</font> CIndexVariant<T,indexMax,maxT> &<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#z149_3">operator <<= </a>(<a class="code" href="types__nl_8h.html#a13">sint</a> a) +00230 { +00231 T bits = (1 << a) - 1; +00232 T <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a>; +00233 T bitlen = 8*<font class="keyword">sizeof</font>(T) - a; +00234 <a class="code" href="types__nl_8h.html#a13">sint</a> i; +00235 +00236 bits <<= (bitlen); +00237 +00238 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[<a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>() - 1] <<= a; +00239 <font class="keywordflow">for</font>(i = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>() - 2 ; i >= 0; i --) +00240 { +00241 <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a> = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] & bits; +00242 <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a> >>= bitlen; +00243 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] <<= a; +00244 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i+1] |= <a class="code" href="driver__opengl__extension__def_8h.html#a262">r</a>; +00245 } +00246 +00247 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00248 } +00249 +00251 +00252 +<a name="l00254"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a5">00254</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a5">save</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +00255 { +00256 <a class="code" href="types__nl_8h.html#a9">sint32</a> i; +00257 i = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); +00258 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>(i); +00259 <font class="keywordflow">for</font>(i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00260 { +00261 T n = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i]; +00262 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>(n); +00263 } +00264 } +00265 +<a name="l00267"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a6">00267</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a6">load</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00268 { +00269 <a class="code" href="types__nl_8h.html#a9">sint32</a> max,i; +00270 +00271 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>(max); +00272 <font class="comment">/*if(max != getMaxIndex()) </font> +00273 <font class="comment"> {</font> +00274 <font class="comment"> throw(NLAIE::CExceptionIndexError());</font> +00275 <font class="comment"> }*/</font> +00276 +00277 <font class="keywordflow">for</font>(i = 0; i < <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>(); i ++) +00278 { +00279 T num; +00280 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>(num); +00281 <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i] = num; +00282 } +00283 +00284 } +00285 +00286 +<a name="l00288"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a7">00288</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a7">getDebugString</a>(std::string &str)<font class="keyword"> const </font> +00289 <font class="keyword"> </font>{ +00290 <font class="keywordtype">char</font> b[<font class="keyword">sizeof</font>(T)*8 + 1]; +00291 b[<font class="keyword">sizeof</font>(T)*8] = 0; +00292 <a class="code" href="types__nl_8h.html#a13">sint</a> i; +00293 <font class="keywordflow">for</font>(i = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>() - 1 ; i >= 0; i --) +00294 { +00295 memset(b,<font class="charliteral">'0'</font>,<font class="keyword">sizeof</font>(T)*8); +00296 T <a class="code" href="driver__opengl__extension__def_8h.html#a260">s</a> = <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#n0">_Id</a>[i]; +00297 <a class="code" href="types__nl_8h.html#a13">sint</a> base = 0; +00298 <a class="code" href="types__nl_8h.html#a13">sint</a> count = 0; +00299 <font class="keywordflow">for</font>(base = 0; base < <font class="keyword">sizeof</font>(T)*8; base ++) +00300 { +00301 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a260">s</a> & 1) +00302 { +00303 b[<font class="keyword">sizeof</font>(T)*8 - base - 1] = <font class="charliteral">'1'</font>; +00304 } +00305 <a class="code" href="driver__opengl__extension__def_8h.html#a260">s</a> >>= 1; +00306 } +00307 str += std::string(b); +00308 } +00309 } +00310 +00311 +<a name="l00312"></a><a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">00312</a> <a class="code" href="types__nl_8h.html#a9">sint32</a> <a class="code" href="classNLAIAGENT_1_1CIndexVariant.html#a8">getMaxIndex</a>()<font class="keyword"> const</font> +00313 <font class="keyword"> </font>{ +00314 <font class="keywordflow">return</font> indexMax; +00315 } +00316 }; +00317 +00318 +00319 +<a name="l00327"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html">00327</a> <font class="keyword">class </font>CNumericIndex : <font class="keyword">public</font> NLMISC::IStreamable +00328 { +00329 <font class="comment">/*public: </font> +00331 <font class="comment"> static CIndexVariant<uint64,maxIndex,maxResolutionNumer> _I;</font> +00332 <font class="comment"> static CIndexVariant<uint64,maxIndex,maxResolutionNumer> LocalServerID;</font> +00333 <font class="comment"> static sint ShiftLocalServerMask;</font> +00334 <font class="comment"></font> +00335 <font class="comment"> private:</font> +00336 <font class="comment"> CIndexVariant<uint64,maxIndex,maxResolutionNumer> _Id;*/</font> +00337 +00338 <font class="keyword">public</font>: +00339 <font class="keyword">static</font> CAgentNumber <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#p0">_I</a>; +00340 <font class="keyword">private</font>: +<a name="l00341"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">00341</a> CAgentNumber <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>; +00342 <font class="keyword">public</font>: +<a name="l00344"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">00344</a> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a>():<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a> (<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#p0">_I</a>++) +00345 { +00346 } +00347 +<a name="l00348"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a1">00348</a> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>): <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>.<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>) +00349 { +00350 } +00351 +<a name="l00353"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a2">00353</a> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a>(<font class="keyword">const</font> CAgentNumber &i):<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a> (i) +00354 { +00355 } +00356 +<a name="l00358"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a3">00358</a> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>):<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>) +00359 { +00360 } +00361 +00362 +<a name="l00364"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a4">00364</a> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is): <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>(is) +00365 { +00366 } +00367 +<a name="l00368"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a5">00368</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a5">setTypeAt</a>(<a class="code" href="types__nl_8h.html#a12">uint64</a> <a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a>) +00369 { +00370 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>.setTypeAt(<a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a>); +00371 } +00372 +00374 +<a name="l00375"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_0">00375</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_0">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a> &a)<font class="keyword"> const</font> +00376 <font class="keyword"> </font>{ +00377 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a> == a._Id; +00378 } +00379 +<a name="l00380"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_1">00380</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_1">operator < </a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a> &a)<font class="keyword"> const</font> +00381 <font class="keyword"> </font>{ +00382 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a> < a._Id; +00383 } +00384 +<a name="l00385"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_2">00385</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z150_2">operator > </a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a0">CNumericIndex</a> &a)<font class="keyword"> const</font> +00386 <font class="keyword"> </font>{ +00387 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a> > a._Id; +00388 } +00390 +<a name="l00392"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a6">00392</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a6">save</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +00393 { +00394 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>.save(os); +00395 } +00396 +<a name="l00398"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a7">00398</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a7">load</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00399 { +00400 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>.load(is); +00401 } +00402 +<a name="l00403"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a8">00403</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a8">getDebugString</a>(std::string &str)<font class="keyword"> const</font> +00404 <font class="keyword"> </font>{ +00405 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>.getDebugString(str); +00406 } +00407 +00409 +<a name="l00410"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z151_0">00410</a> <font class="keyword">virtual</font> std::string <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z151_0">getClassName</a>() +00411 { +00412 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"<CNumericIndex>"</font>); +00413 } +00414 +<a name="l00415"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z151_1">00415</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#z151_1">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00416 { +00417 <font class="keywordflow">if</font>(f.isReading()) +00418 { +00419 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a7">load</a>(f); +00420 } +00421 <font class="keywordflow">else</font> +00422 { +00423 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a6">save</a>(f); +00424 } +00425 +00426 } +00428 +00429 +<a name="l00430"></a><a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a9">00430</a> <font class="keyword">const</font> CAgentNumber &<a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#a9">getId</a>()<font class="keyword"> const</font> +00431 <font class="keyword"> </font>{ +00432 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#o0">_Id</a>; +00433 } +00434 }; +00435 +<a name="l00447"></a><a class="code" href="classNLAIAGENT_1_1IWordNumRef.html">00447</a> <font class="keyword">class </font>IWordNumRef: <font class="keyword">public</font> NLAIC::IBasicInterface +00448 { +00449 <font class="keyword">public</font>: +<a name="l00450"></a><a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a0">00450</a> <a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a0">IWordNumRef</a>() +00451 { +00452 } +00453 +<a name="l00454"></a><a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a1">00454</a> <a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a0">IWordNumRef</a>(<a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a0">IWordNumRef</a> &) +00455 { +00456 } +00457 +00458 <font class="keyword">virtual</font> <a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a2">operator const IRefrence *</a>() <font class="keyword">const</font> = 0; +00459 <font class="keyword">virtual</font> <font class="keyword">const</font> CNumericIndex &<a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a3">getNumIdent</a>() <font class="keyword">const</font> = 0; +00460 +<a name="l00461"></a><a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a4">00461</a> <font class="keyword">virtual</font> <a class="code" href="classNLAIAGENT_1_1IWordNumRef.html#a4">~IWordNumRef</a>() +00462 { +00463 } +00464 +00465 }; +00466 +<a name="l00476"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html">00476</a> <font class="keyword">class </font>CLocWordNumRef: <font class="keyword">public</font> IWordNumRef +00477 { +00478 <font class="keyword">private</font>: +<a name="l00480"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#u0">00480</a> <font class="keyword">typedef</font> std::map<CNumericIndex ,IRefrence *> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#u0">tMapRef</a>; +00481 <font class="keyword">static</font> NLMISC::CSynchronized<tMapRef> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>; +00482 +00483 <font class="keyword">private</font>: +00484 +<a name="l00486"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o0">00486</a> CNumericIndex <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o0">_Id</a>; +00487 +<a name="l00489"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">00489</a> IRefrence *<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>; +00490 +00491 <font class="keyword">public</font>: +00493 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#p0">IdLocWordNumRef</a>; +00494 +00495 <font class="keyword">public</font>: +<a name="l00497"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a0">00497</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(IRefrence *ref):<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(ref) +00498 { +00499 NLMISC::CSynchronized<tMapRef >::CAccessor a(&<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>); +00500 a.value().insert(tMapRef::value_type(_Id,ref)); +00501 } +00502 +<a name="l00510"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a1">00510</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(<font class="keyword">const</font> CNumericIndex &ref) :_Id(ref),<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(NULL) +00511 { +00512 NLMISC::CSynchronized<tMapRef >::CAccessor a(&<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>); +00513 tMapRef::iterator Itr = a.value().find(_Id); +00514 <font class="keywordflow">if</font>(Itr != a.value().end()) +00515 { +00516 <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a> = (*Itr).second; +00517 } +00518 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexHandeledError.html">NLAIE::CExceptionIndexHandeledError</a>(); +00519 } +00520 +<a name="l00521"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a2">00521</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(<font class="keyword">const</font> CNumericIndex &<a class="code" href="driver__opengl__extension__def_8h.html#a234">id</a>,IRefrence *ref) :_Id(id),<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(ref) +00522 { +00523 NLMISC::CSynchronized<tMapRef >::CAccessor a(&<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>); +00524 tMapRef::iterator itr = a.value().find(_Id); +00525 <font class="keywordflow">if</font>(itr != a.value().end()) +00526 { +00527 <font class="keywordflow">if</font>((*itr).second != <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>) +00528 { +00529 <font class="keywordflow">return</font>; +00530 } +00531 <font class="keywordflow">else</font> +00532 { +00533 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexHandeledError.html">NLAIE::CExceptionIndexHandeledError</a>(); +00534 } +00535 a.value().erase(itr); +00536 } +00537 a.value().insert(tMapRef::value_type(_Id,<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>)); +00538 } +00539 +<a name="l00544"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a3">00544</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a0">CLocWordNumRef</a> &<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>) :_Id(<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>._Id),<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(NULL) +00545 { +00546 NLMISC::CSynchronized<tMapRef >::CAccessor a(&<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>); +00547 tMapRef::iterator itr = a.value().find(_Id); +00548 <font class="keywordflow">if</font>(itr != a.value().end()) +00549 { +00550 <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a> = (*itr).second; +00551 } +00552 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexHandeledError.html">NLAIE::CExceptionIndexHandeledError</a>(); +00553 } +00554 +<a name="l00560"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a4">00560</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) :<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(NULL) +00561 { +00562 <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_4">load</a>(is); +00563 } +00564 +<a name="l00565"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">00565</a> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>():<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>(NULL) +00566 { +00567 } +00568 +<a name="l00569"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a6">00569</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a6">getDebugString</a>(std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a>)<font class="keyword"> const</font> +00570 <font class="keyword"> </font>{ +00571 std::string i; +00572 _Id.getDebugString(i); +00573 <a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a> += <a class="code" href="namespaceNLAIC.html#a5">NLAIC::stringGetBuild</a>(<font class="stringliteral">"CLocWordNumRef<%d>: _Id <%s>"</font>,<font class="keyword">this</font>,i.c_str()); +00574 } +00575 +00577 +00578 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_0">getType</a>() <font class="keyword">const</font>; +<a name="l00579"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_1">00579</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_1">clone</a>()<font class="keyword"> const</font> +00580 <font class="keyword"> </font>{ +00581 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(*<font class="keyword">this</font>); +00582 <font class="keywordflow">return</font> m; +00583 } +<a name="l00584"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_2">00584</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_2">newInstance</a>()<font class="keyword"> const</font> +00585 <font class="keyword"> </font>{ +00586 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a5">CLocWordNumRef</a>(); +00587 <font class="keywordflow">return</font> m; +00588 } +<a name="l00589"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_3">00589</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_3">save</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +00590 { +00591 _Id.save(os); +00592 } +<a name="l00594"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_4">00594</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z152_4">load</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00595 { +00596 NLMISC::CSynchronized<tMapRef >::CAccessor a(&<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#r0">_LocRefence</a>); +00597 _Id.load(is); +00598 tMapRef::iterator Itr = a.value().find(_Id); +00599 <font class="keywordflow">if</font>(Itr != a.value().end()) +00600 { +00601 <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a> = (*Itr).second; +00602 } +00603 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexHandeledError.html">NLAIE::CExceptionIndexHandeledError</a>(); +00604 } +00606 +<a name="l00607"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a7">00607</a> <font class="keyword">virtual</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a7">operator const IRefrence *</a>()<font class="keyword"> const</font> +00608 <font class="keyword"> </font>{ +00609 <font class="keywordflow">return</font> (<font class="keyword">const</font> IRefrence *)<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#o1">_Stock</a>; +00610 } +00611 +<a name="l00612"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a8">00612</a> <font class="keyword">virtual</font> <font class="keyword">const</font> CNumericIndex &<a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a8">getNumIdent</a>()<font class="keyword"> const</font> +00613 <font class="keyword"> </font>{ +00614 <font class="keywordflow">return</font> _Id; +00615 } +00616 +<a name="l00617"></a><a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a9">00617</a> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a9">setTypeAt</a>(<a class="code" href="types__nl_8h.html#a12">uint64</a> <a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a>) +00618 { +00619 _Id.setTypeAt(<a class="code" href="driver__opengl__extension__def_8h.html#a261">t</a>); +00620 } +00621 +00622 <font class="keyword">virtual</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#a10">~CLocWordNumRef</a>(); +00623 +00624 <font class="keyword">public</font>: +00625 +00627 +00628 +00630 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z153_0">clear</a>(); +00631 +00633 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z153_1">Init</a>(); +00639 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z153_2">saveMapping</a>(ostream &); +00643 <font class="keyword">static</font> <font class="keywordtype">bool</font> <a class="code" href="classNLAIAGENT_1_1CLocWordNumRef.html#z153_3">loadMapping</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &); +00644 +00645 <font class="keyword">static</font> IRefrence *<a class="code" href="classNLAIC_1_1IPointerGestion.html#a5">getRef</a>(<font class="keyword">const</font> CNumericIndex &); +00647 }; +00648 +00650 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAIAGENT.html#a44">initAgentLib</a>(); +00651 +00653 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAIAGENT.html#a45">releaseAgentLib</a>(); +00654 } +00655 +00656 +00657 <font class="preprocessor">#endif</font> +00658 <font class="preprocessor"></font> +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |