diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02272.html | 1715 |
1 files changed, 1715 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02272.html b/docs/doxygen/nel/a02272.html new file mode 100644 index 00000000..5c357446 --- /dev/null +++ b/docs/doxygen/nel/a02272.html @@ -0,0 +1,1715 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLMISC::CBitSet class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CBitSet Class Reference</h1><code>#include <<a class="el" href="a05485.html">bit_set.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A BitSet, to test / set flags quickly. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00049">49</a> of file <a class="el" href="a05485.html">bit_set.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>const std::vector< <a class="el" href="a04558.html#a11">uint32</a> > & </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSeta0">getVector</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the raw vector. <a href="#NLMISC_1_1CBitSeta0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSeta1">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &f)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Serialize. <a href="#NLMISC_1_1CBitSeta1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSeta2">setUint</a> (<a class="el" href="a04558.html#a11">uint32</a> srcValue, <a class="el" href="a04558.html#a15">uint</a> i)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Write an uint32 into the bit set (use with caution, no check). <a href="#NLMISC_1_1CBitSeta2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSeta3">toString</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a string representing the bitfield with 1 and 0 (from left to right). <a href="#NLMISC_1_1CBitSeta3"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Bit comparisons.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1924_0">allCleared</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if all bits are cleared. false if <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a>==0. <a href="#NLMISC_1_1CBitSetz1924_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1924_1">allSet</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if all bits are set. false if <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a>==0. <a href="#NLMISC_1_1CBitSetz1924_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1924_2">compareRestrict</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1924_3">operator!=</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">operator!=. <a href="#NLMISC_1_1CBitSetz1924_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1924_4">operator==</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two BitSet. If not of same size, return false. <a href="#NLMISC_1_1CBitSetz1924_4"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Object.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1918_0">CBitSet</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1918_1">CBitSet</a> (<a class="el" href="a04558.html#a15">uint</a> numBits)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1918_2">CBitSet</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1918_3">operator=</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1918_4">~CBitSet</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Basics.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_0">clear</a> (<a class="el" href="a04558.html#a14">sint</a> bitNumber)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a bit to 0. <a href="#NLMISC_1_1CBitSetz1920_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_1">clear</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the bitarray so <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a> return 0. <a href="#NLMISC_1_1CBitSetz1920_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_2">clearAll</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all bits to 0. <a href="#NLMISC_1_1CBitSetz1920_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_3">get</a> (<a class="el" href="a04558.html#a14">sint</a> bitNumber) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a bit. <a href="#NLMISC_1_1CBitSetz1920_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_4">operator[]</a> (<a class="el" href="a04558.html#a14">sint</a> bitNumber) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a bit. <a href="#NLMISC_1_1CBitSetz1920_4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_5">resize</a> (<a class="el" href="a04558.html#a15">uint</a> numBits)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Resize the bit array. All Bits are reseted. <a href="#NLMISC_1_1CBitSetz1920_5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_6">resizeNoReset</a> (<a class="el" href="a04558.html#a15">uint</a> numBits, bool <a class="el" href="a04223.html#a658">value</a>=false)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Resize the bit array. Bits are not reseted. New bits are set with value. <a href="#NLMISC_1_1CBitSetz1920_6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_7">set</a> (<a class="el" href="a04558.html#a14">sint</a> bitNumber)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a bit to 1. <a href="#NLMISC_1_1CBitSetz1920_7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_8">set</a> (<a class="el" href="a04558.html#a14">sint</a> bitNumber, bool <a class="el" href="a04223.html#a658">value</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a bit to 0 or 1. <a href="#NLMISC_1_1CBitSetz1920_8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_9">setAll</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all bits to 1. <a href="#NLMISC_1_1CBitSetz1920_9"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return size of the bit array. <a href="#NLMISC_1_1CBitSetz1920_10"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Bit operations.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_0">flip</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">NOT the BitArray. <a href="#NLMISC_1_1CBitSetz1922_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_1">operator &</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_2">operator &=</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_3">operator^</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_4">operator^=</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_5">operator|</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_6">operator|=</a> (const <a class="el" href="a02272.html">CBitSet</a> &bs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02272.html">CBitSet</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1922_7">operator~</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return The bitarray NOTed. <a href="#NLMISC_1_1CBitSetz1922_7"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a04558.html#a11">uint32</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLMISC_1_1CBitSetz1918_2" doxytag="NLMISC::CBitSet::CBitSet" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CBitSet::CBitSet </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00044">44</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, and <a class="el" href="a05485.html#l00183">NumBits</a>. +<p> +<div class="fragment"><pre>00045 { +00046 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= 0; +00047 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= 0; +00048 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1918_1" doxytag="NLMISC::CBitSet::CBitSet" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CBitSet::CBitSet </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numBits</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00049">49</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05484.html#l00081">resize()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00050 { +00051 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= 0; +00052 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= 0; +00053 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_5">resize</a>(numBits); +00054 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1918_0" doxytag="NLMISC::CBitSet::CBitSet" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CBitSet::CBitSet </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00055">55</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, and <a class="el" href="a05485.html#l00183">NumBits</a>. +<p> +<div class="fragment"><pre>00056 { +00057 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= bs.NumBits; +00058 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= bs.MaskLast; +00059 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>= bs.Array; +00060 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1918_4" doxytag="NLMISC::CBitSet::~CBitSet" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CBitSet::~<a class="el" href="a02272.html">CBitSet</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00061">61</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +<div class="fragment"><pre>00062 { +00063 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLMISC_1_1CBitSetz1924_0" doxytag="NLMISC::CBitSet::allCleared" ></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 NLMISC::CBitSet::allCleared </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if all bits are cleared. false if <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a>==0. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00280">280</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00281 { +00282 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00283 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00284 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size();i++) +00285 { +00286 <span class="keywordflow">if</span>( <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]!= 0 ) +00287 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00288 } +00289 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00290 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1924_1" doxytag="NLMISC::CBitSet::allSet" ></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 NLMISC::CBitSet::allSet </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if all bits are set. false if <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a>==0. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00267">267</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00268 { +00269 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00270 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00271 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size()-1;i++) +00272 { +00273 <span class="keywordflow">if</span>( <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]!= (~((<a class="code" href="a04558.html#a15">uint</a>)0)) ) +00274 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00275 } +00276 <span class="keywordflow">if</span>( <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size()-1]!= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a> ) +00277 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00278 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00279 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_0" doxytag="NLMISC::CBitSet::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 NLMISC::CBitSet::clear </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>bitNumber</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set a bit to 0. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00103">103</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00075">set()</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00103 {<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_8">set</a>(bitNumber, <span class="keyword">false</span>);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_1" doxytag="NLMISC::CBitSet::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 NLMISC::CBitSet::clear </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Clear the bitarray so <a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a> return 0. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00075">75</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, and <a class="el" href="a05485.html#l00183">NumBits</a>. +<p> +Referenced by <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, <a class="el" href="a05484.html#l00081">resize()</a>, and <a class="el" href="a05484.html#l00098">resizeNoReset()</a>. +<p> +<div class="fragment"><pre>00076 { +00077 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.clear(); +00078 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= 0; +00079 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>=0; +00080 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_2" doxytag="NLMISC::CBitSet::clearAll" ></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 NLMISC::CBitSet::clearAll </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set all bits to 0. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00125">125</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +Referenced by <a class="el" href="a06758.html#l00922">NL3D::CZone::clip()</a>, <a class="el" href="a06758.html#l01038">NL3D::CZone::clipPatchs()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, <a class="el" href="a05684.html#l00195">NLMISC::CEventListenerAsync::reset()</a>, and <a class="el" href="a05484.html#l00081">resize()</a>. +<p> +<div class="fragment"><pre>00126 { +00127 fill_n(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.begin(), <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size(), 0); +00128 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1924_2" doxytag="NLMISC::CBitSet::compareRestrict" ></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 NLMISC::CBitSet::compareRestrict </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compare two BitSet not necessarely of same size. The comparison is done on N bits, where N=min(this-><a class="el" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size()</a>, <a class="el" href="a04223.html#a587">bs.size()</a>) <dl compact><dt><b>Returns:</b></dt><dd>true if the N common bits of this and bs are the same. false otherwise.</dd></dl> + +<p> +Definition at line <a class="el" href="a05484.html#l00240">240</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05485.html#l00038">NL_BITLEN</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00241 { +00242 <a class="code" href="a04558.html#a14">sint</a> n=<a class="code" href="a04061.html#a0">min</a>(NumBits, bs.NumBits); +00243 <span class="keywordflow">if</span>(n==0) <span class="keywordflow">return</span> <span class="keyword">true</span>; +00244 +00245 <a class="code" href="a04558.html#a14">sint</a> nA= (n+<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1) / <a class="code" href="a04062.html#a0">NL_BITLEN</a>; +00246 <a class="code" href="a04558.html#a15">uint</a> mask; +00247 +00248 <a class="code" href="a04558.html#a15">uint</a> nLastBits= n & (<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1) ; +00249 <span class="comment">// Generate the mask for the last common word.</span> +00250 <span class="keywordflow">if</span>(nLastBits==0) +00251 mask= ~((<a class="code" href="a04558.html#a15">uint</a>)0); +00252 <span class="keywordflow">else</span> +00253 mask= (1<< nLastBits) -1; +00254 +00255 +00256 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<nA-1;i++) +00257 { +00258 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]!=bs.Array[i]) +00259 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00260 } +00261 <span class="keywordflow">if</span>( (<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[nA-1]&mask) != (bs.Array[nA-1]&mask) ) +00262 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00263 +00264 +00265 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00266 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_0" doxytag="NLMISC::CBitSet::flip" ></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 NLMISC::CBitSet::flip </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +NOT the BitArray. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00167">167</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +Referenced by <a class="el" href="a05484.html#l00132">operator~()</a>. +<p> +<div class="fragment"><pre>00168 { +00169 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00170 <span class="keywordflow">return</span>; +00171 +00172 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size();i++) +00173 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]= ~<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]; +00174 +00175 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size()-1]&= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>; +00176 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_3" doxytag="NLMISC::CBitSet::get" ></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 NLMISC::CBitSet::get </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>bitNumber</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the value of a bit. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00087">87</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00038">NL_BITLEN</a>, <a class="el" href="a05485.html#l00039">NL_BITLEN_SHIFT</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05684.html#l00072">NLMISC::CEventListenerAsync::isKeyDown()</a>, <a class="el" href="a05684.html#l00078">NLMISC::CEventListenerAsync::isKeyPushed()</a>, <a class="el" href="a06760.html#l00539">NL3D::CZone::isPatchRenderClipped()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, <a class="el" href="a05485.html#l00096">operator[]()</a>, <a class="el" href="a05484.html#l00294">serial()</a>, and <a class="el" href="a05484.html#l00334">toString()</a>. +<p> +<div class="fragment"><pre>00088 { +00089 <a class="code" href="a04199.html#a6">nlassert</a>(bitNumber>=0 && bitNumber<NumBits); +00090 +00091 <a class="code" href="a04558.html#a15">uint</a> mask= bitNumber&(<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1); +00092 mask= 1<<mask; +00093 <span class="keywordflow">return</span> (<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[bitNumber >> <a class="code" href="a04062.html#a1">NL_BITLEN_SHIFT</a>] & mask) != 0; +00094 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSeta0" doxytag="NLMISC::CBitSet::getVector" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const std::vector<<a class="el" href="a04558.html#a11">uint32</a>>& NLMISC::CBitSet::getVector </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the raw vector. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00173">173</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +Referenced by <a class="el" href="a06758.html#l00922">NL3D::CZone::clip()</a>, and <a class="el" href="a05482.html#l00375">NLMISC::CBitMemStream::pokeBits()</a>. +<p> +<div class="fragment"><pre>00173 { <span class="keywordflow">return</span> <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_1" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> NLMISC::CBitSet::operator & </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return this ANDed with bs. The result BitSet is of size of <code>*this</code>. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00140">140</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +<div class="fragment"><pre>00141 { +00142 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1918_2">CBitSet</a> ret; +00143 +00144 ret= *<span class="keyword">this</span>; +00145 ret&=bs; +00146 <span class="keywordflow">return</span> ret; +00147 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_2" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> & NLMISC::CBitSet::operator &= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +AND the bitArray with bs. The bitset size is not changed. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00177">177</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00178 { +00179 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00180 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00181 +00182 <a class="code" href="a04558.html#a14">sint</a> minSize= <a class="code" href="a04061.html#a0">min</a>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size(), bs.Array.size()); +00183 <a class="code" href="a04558.html#a14">sint</a> i; +00184 <span class="keywordflow">for</span>(i=0;i<minSize;i++) +00185 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i] & bs.Array[i]; +00186 <span class="keywordflow">for</span>(i=minSize;i<(<a class="code" href="a04558.html#a14">sint</a>)Array.size();i++) +00187 Array[i]=0; +00188 +00189 Array[Array.size()-1]&= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>; +00190 +00191 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00192 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1924_3" doxytag="NLMISC::CBitSet::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"> bool NLMISC::CBitSet::operator!= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +operator!=. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00236">236</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05484.html#l00224">operator==()</a>. +<p> +<div class="fragment"><pre>00237 { +00238 <span class="keywordflow">return</span> (!<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1924_4">operator==</a>(bs)); +00239 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1918_3" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> & NLMISC::CBitSet::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00064">64</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, and <a class="el" href="a05485.html#l00183">NumBits</a>. +<p> +<div class="fragment"><pre>00065 { +00066 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= bs.NumBits; +00067 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= bs.MaskLast; +00068 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>= bs.Array; +00069 +00070 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00071 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1924_4" doxytag="NLMISC::CBitSet::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"> bool NLMISC::CBitSet::operator== </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compare two BitSet. If not of same size, return false. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00224">224</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +Referenced by <a class="el" href="a05484.html#l00236">operator!=()</a>. +<p> +<div class="fragment"><pre>00225 { +00226 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>!=bs.NumBits) +00227 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00228 +00229 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size();i++) +00230 { +00231 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]!=bs.Array[i]) +00232 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00233 } +00234 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_4" doxytag="NLMISC::CBitSet::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"> bool NLMISC::CBitSet::operator[] </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>bitNumber</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the value of a bit. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00096">96</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00087">get()</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00097 { +00098 <span class="keywordflow">return</span> <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_3">get</a>(bitNumber); +00099 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_3" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> NLMISC::CBitSet::operator^ </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return this XORed with bs. The result BitSet is of size of <code>*this</code>. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00156">156</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +<div class="fragment"><pre>00157 { +00158 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1918_2">CBitSet</a> ret; +00159 +00160 ret= *<span class="keyword">this</span>; +00161 ret^=bs; +00162 <span class="keywordflow">return</span> ret; +00163 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_4" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> & NLMISC::CBitSet::operator^= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +XOR the bitArray with bs. The bitset size is not changed. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00207">207</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00208 { +00209 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00210 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00211 +00212 <a class="code" href="a04558.html#a14">sint</a> minSize= <a class="code" href="a04061.html#a0">min</a>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size(), bs.Array.size()); +00213 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<minSize;i++) +00214 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i] ^ bs.Array[i]; +00215 <span class="comment">// Do nothing for bits word from minSize to Array.size().</span> +00216 +00217 Array[Array.size()-1]&= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>; +00218 +00219 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00220 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_5" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> NLMISC::CBitSet::operator| </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return this ORed with bs. The result BitSet is of size of <code>*this</code>. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00148">148</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +<div class="fragment"><pre>00149 { +00150 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1918_2">CBitSet</a> ret; +00151 +00152 ret= *<span class="keyword">this</span>; +00153 ret|=bs; +00154 <span class="keywordflow">return</span> ret; +00155 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_6" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> & NLMISC::CBitSet::operator|= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02272.html">CBitSet</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +OR the bitArray with bs. The bitset size is not changed. Any missing bits into bs will be considered as 0. +<p> +Definition at line <a class="el" href="a05484.html#l00193">193</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00182">Array</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00194 { +00195 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>==0) +00196 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00197 +00198 <a class="code" href="a04558.html#a14">sint</a> minSize= <a class="code" href="a04061.html#a0">min</a>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size(), bs.Array.size()); +00199 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<minSize;i++) +00200 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i]= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i] | bs.Array[i]; +00201 <span class="comment">// Do nothing for bits word from minSize to Array.size().</span> +00202 +00203 Array[Array.size()-1]&= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>; +00204 +00205 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00206 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1922_7" doxytag="NLMISC::CBitSet::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="a02272.html">CBitSet</a> NLMISC::CBitSet::operator~ </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return The bitarray NOTed. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00132">132</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05484.html#l00167">flip()</a>. +<p> +<div class="fragment"><pre>00133 { +00134 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1918_2">CBitSet</a> ret; +00135 +00136 ret= *<span class="keyword">this</span>; +00137 ret.flip(); +00138 <span class="keywordflow">return</span> ret; +00139 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_5" doxytag="NLMISC::CBitSet::resize" ></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 NLMISC::CBitSet::resize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numBits</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Resize the bit array. All Bits are reseted. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00081">81</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05484.html#l00075">clear()</a>, <a class="el" href="a05484.html#l00125">clearAll()</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05485.html#l00038">NL_BITLEN</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06758.html#l00122">NL3D::CZone::build()</a>, <a class="el" href="a05484.html#l00049">CBitSet()</a>, <a class="el" href="a05684.html#l00050">NLMISC::CEventListenerAsync::CEventListenerAsync()</a>, <a class="el" href="a05482.html#l00737">NLMISC::CBitMemStream::getSerialItem()</a>, <a class="el" href="a06758.html#l00432">NL3D::CZone::serial()</a>, and <a class="el" href="a05484.html#l00294">serial()</a>. +<p> +<div class="fragment"><pre>00082 { +00083 <span class="keywordflow">if</span>(numBits==0) +00084 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_1">clear</a>(); +00085 +00086 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>= numBits; +00087 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.resize( (NumBits+NL_BITLEN-1) / NL_BITLEN ); +00088 <a class="code" href="a04558.html#a15">uint</a> nLastBits= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a> & (<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1) ; +00089 <span class="comment">// Generate the mask for the last word.</span> +00090 <span class="keywordflow">if</span>(nLastBits==0) +00091 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= ~((<a class="code" href="a04558.html#a15">uint</a>)0); +00092 <span class="keywordflow">else</span> +00093 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= (1<< nLastBits) -1; +00094 +00095 <span class="comment">// reset to 0.</span> +00096 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_2">clearAll</a>(); +00097 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_6" doxytag="NLMISC::CBitSet::resizeNoReset" ></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 NLMISC::CBitSet::resizeNoReset </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>numBits</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>value</em> = false</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Resize the bit array. Bits are not reseted. New bits are set with value. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00098">98</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05484.html#l00075">clear()</a>, <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05485.html#l00038">NL_BITLEN</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05485.html#l00075">set()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l01132">value</a>. +<p> +<div class="fragment"><pre>00099 { +00100 <span class="keywordflow">if</span>(numBits==0) +00101 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_1">clear</a>(); +00102 +00103 <a class="code" href="a04558.html#a15">uint</a> oldNum=<a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>; +00104 NumBits= numBits; +00105 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.resize( (NumBits+NL_BITLEN-1) / NL_BITLEN ); +00106 <a class="code" href="a04558.html#a15">uint</a> nLastBits= NumBits & (<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1) ; +00107 <span class="comment">// Generate the mask for the last word.</span> +00108 <span class="keywordflow">if</span>(nLastBits==0) +00109 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= ~((<a class="code" href="a04558.html#a15">uint</a>)0); +00110 <span class="keywordflow">else</span> +00111 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>= (1<< nLastBits) -1; +00112 +00113 <span class="comment">// Set new bit to value</span> +00114 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=oldNum; i<(<a class="code" href="a04558.html#a15">uint</a>)NumBits; i++) +00115 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_8">set</a>(i, value); +00116 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSeta1" doxytag="NLMISC::CBitSet::serial" ></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 NLMISC::CBitSet::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Serialize. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00294">294</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00087">get()</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a05484.html#l00081">resize()</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a06462.html#l00324">NLMISC::IStream::serialCont()</a>, <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>, <a class="el" href="a05485.html#l00075">set()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05485.html#l00070">size()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00295 { +00296 (<span class="keywordtype">void</span>)f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(0); +00297 <a class="code" href="a04558.html#a11">uint32</a> sz=0; +00298 vector<uint32> array32; +00299 +00300 <span class="comment">// Must support any size of uint.</span> +00301 <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) +00302 { +00303 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(sz); +00304 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_5">resize</a>(sz); +00305 +00306 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(array32); +00307 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)sz;i++) +00308 { +00309 <a class="code" href="a04558.html#a11">uint32</a> a=array32[i/32]; +00310 a&= 1<<(i&31); +00311 <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_8">set</a>(i, a!=0); +00312 } +00313 } +00314 <span class="keywordflow">else</span> +00315 { +00316 sz= <a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size</a>(); +00317 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(sz); +00318 +00319 array32.resize(sz/32); +00320 fill_n(array32.begin(), array32.size(), 0); +00321 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=0;i<(<a class="code" href="a04558.html#a14">sint</a>)sz;i++) +00322 { +00323 <span class="keywordflow">if</span>(<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_3">get</a>(i)) +00324 array32[i/32]|= 1<<(i&31); +00325 } +00326 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a>(array32); +00327 } +00328 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_7" doxytag="NLMISC::CBitSet::set" ></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 NLMISC::CBitSet::set </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>bitNumber</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set a bit to 1. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00101">101</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00075">set()</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00101 {<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_8">set</a>(bitNumber, <span class="keyword">true</span>);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_8" doxytag="NLMISC::CBitSet::set" ></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 NLMISC::CBitSet::set </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname" nowrap> <em>bitNumber</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>value</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set a bit to 0 or 1. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00075">75</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00038">NL_BITLEN</a>, <a class="el" href="a05485.html#l00039">NL_BITLEN_SHIFT</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05485.html#l00183">NumBits</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l01132">value</a>. +<p> +Referenced by <a class="el" href="a05485.html#l00103">clear()</a>, <a class="el" href="a06758.html#l01038">NL3D::CZone::clipPatchs()</a>, <a class="el" href="a05684.html#l00078">NLMISC::CEventListenerAsync::isKeyPushed()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, <a class="el" href="a06155.html#l00115">NL3D::CPatch::release()</a>, <a class="el" href="a06758.html#l01240">NL3D::CZone::resetRenderFarAndDeleteVBFV()</a>, <a class="el" href="a05484.html#l00098">resizeNoReset()</a>, <a class="el" href="a05484.html#l00294">serial()</a>, and <a class="el" href="a05485.html#l00101">set()</a>. +<p> +<div class="fragment"><pre>00076 { +00077 <a class="code" href="a04199.html#a6">nlassert</a>(bitNumber>=0 && bitNumber<NumBits); +00078 +00079 <a class="code" href="a04558.html#a15">uint</a> mask= bitNumber&(<a class="code" href="a04062.html#a0">NL_BITLEN</a>-1); +00080 mask= 1<<mask; +00081 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a658">value</a>) +00082 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[bitNumber >> <a class="code" href="a04062.html#a1">NL_BITLEN_SHIFT</a>]|= mask ; +00083 <span class="keywordflow">else</span> +00084 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[bitNumber >> <a class="code" href="a04062.html#a1">NL_BITLEN_SHIFT</a>]&= ~mask; +00085 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_9" doxytag="NLMISC::CBitSet::setAll" ></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 NLMISC::CBitSet::setAll </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set all bits to 1. +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00117">117</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00184">MaskLast</a>, <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06758.html#l00122">NL3D::CZone::build()</a>, <a class="el" href="a06758.html#l00922">NL3D::CZone::clip()</a>, and <a class="el" href="a06758.html#l00432">NL3D::CZone::serial()</a>. +<p> +<div class="fragment"><pre>00118 { +00119 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.size(); +00120 fill_n(<a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>.begin(), <a class="code" href="a04223.html#a626">s</a>, ~((<a class="code" href="a04558.html#a15">uint</a>)0)); +00121 +00122 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a>) +00123 <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[<a class="code" href="a04223.html#a626">s</a>-1]&= <a class="code" href="a02272.html#NLMISC_1_1CBitSetr1">MaskLast</a>; +00124 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSeta2" doxytag="NLMISC::CBitSet::setUint" ></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 NLMISC::CBitSet::setUint </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>srcValue</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>i</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Write an uint32 into the bit set (use with caution, no check). +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00176">176</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05482.html#l00415">NLMISC::CBitMemStream::readBits()</a>. +<p> +<div class="fragment"><pre>00176 { <a class="code" href="a02272.html#NLMISC_1_1CBitSetr0">Array</a>[i] = srcValue; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetz1920_10" doxytag="NLMISC::CBitSet::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> NLMISC::CBitSet::size </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return size of the bit array. +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00070">70</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +References <a class="el" href="a05485.html#l00183">NumBits</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05482.html#l00375">NLMISC::CBitMemStream::pokeBits()</a>, <a class="el" href="a05482.html#l00415">NLMISC::CBitMemStream::readBits()</a>, <a class="el" href="a05484.html#l00294">serial()</a>, and <a class="el" href="a05484.html#l00334">toString()</a>. +<p> +<div class="fragment"><pre>00071 { +00072 <span class="keywordflow">return</span> <a class="code" href="a02272.html#NLMISC_1_1CBitSetr2">NumBits</a>; +00073 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSeta3" doxytag="NLMISC::CBitSet::toString" ></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::string NLMISC::CBitSet::toString </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return a string representing the bitfield with 1 and 0 (from left to right). +<p> + +<p> +Definition at line <a class="el" href="a05484.html#l00334">334</a> of file <a class="el" href="a05484.html">bit_set.cpp</a>. +<p> +References <a class="el" href="a05485.html#l00087">get()</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05485.html#l00070">size()</a>. +<p> +Referenced by <a class="el" href="a05482.html#l00737">NLMISC::CBitMemStream::getSerialItem()</a>. +<p> +<div class="fragment"><pre>00335 { +00336 string <a class="code" href="a04223.html#a626">s</a>; +00337 <span class="keywordflow">for</span> ( <a class="code" href="a04558.html#a14">sint</a> i=0; i!=(<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_10">size</a>(); ++i ) +00338 { +00339 <a class="code" href="a04223.html#a626">s</a> += (<a class="code" href="a02272.html#NLMISC_1_1CBitSetz1920_3">get</a>(i) ? <span class="charliteral">'1'</span> : <span class="charliteral">'0'</span>); +00340 } +00341 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a626">s</a>; +00342 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLMISC_1_1CBitSetr0" doxytag="NLMISC::CBitSet::Array" ></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<<a class="el" href="a04558.html#a11">uint32</a>> <a class="el" href="a02272.html#NLMISC_1_1CBitSetr0">NLMISC::CBitSet::Array</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00182">182</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +Referenced by <a class="el" href="a05484.html#l00055">CBitSet()</a>, <a class="el" href="a05484.html#l00240">compareRestrict()</a>, <a class="el" href="a05484.html#l00177">operator &=()</a>, <a class="el" href="a05484.html#l00064">operator=()</a>, <a class="el" href="a05484.html#l00224">operator==()</a>, <a class="el" href="a05484.html#l00207">operator^=()</a>, and <a class="el" href="a05484.html#l00193">operator|=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetr1" doxytag="NLMISC::CBitSet::MaskLast" ></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#a11">uint32</a> <a class="el" href="a02272.html#NLMISC_1_1CBitSetr1">NLMISC::CBitSet::MaskLast</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00184">184</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +Referenced by <a class="el" href="a05484.html#l00267">allSet()</a>, <a class="el" href="a05484.html#l00044">CBitSet()</a>, <a class="el" href="a05484.html#l00075">clear()</a>, <a class="el" href="a05484.html#l00167">flip()</a>, <a class="el" href="a05484.html#l00177">operator &=()</a>, <a class="el" href="a05484.html#l00064">operator=()</a>, <a class="el" href="a05484.html#l00207">operator^=()</a>, <a class="el" href="a05484.html#l00193">operator|=()</a>, <a class="el" href="a05484.html#l00081">resize()</a>, <a class="el" href="a05484.html#l00098">resizeNoReset()</a>, and <a class="el" href="a05484.html#l00117">setAll()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CBitSetr2" doxytag="NLMISC::CBitSet::NumBits" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a02272.html#NLMISC_1_1CBitSetr2">NLMISC::CBitSet::NumBits</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05485.html#l00183">183</a> of file <a class="el" href="a05485.html">bit_set.h</a>. +<p> +Referenced by <a class="el" href="a05484.html#l00280">allCleared()</a>, <a class="el" href="a05484.html#l00267">allSet()</a>, <a class="el" href="a05484.html#l00044">CBitSet()</a>, <a class="el" href="a05484.html#l00075">clear()</a>, <a class="el" href="a05484.html#l00240">compareRestrict()</a>, <a class="el" href="a05484.html#l00167">flip()</a>, <a class="el" href="a05485.html#l00087">get()</a>, <a class="el" href="a05484.html#l00177">operator &=()</a>, <a class="el" href="a05484.html#l00064">operator=()</a>, <a class="el" href="a05484.html#l00224">operator==()</a>, <a class="el" href="a05484.html#l00207">operator^=()</a>, <a class="el" href="a05484.html#l00193">operator|=()</a>, <a class="el" href="a05484.html#l00081">resize()</a>, <a class="el" href="a05484.html#l00098">resizeNoReset()</a>, <a class="el" href="a05485.html#l00075">set()</a>, and <a class="el" href="a05485.html#l00070">size()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05485.html">bit_set.h</a><li><a class="el" href="a05484.html">bit_set.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:05:00 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> |