<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>steghide: BitString.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">steghide  <span id="projectnumber">0.5.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">BitString.h</div> </div> </div><!--header--> <div class="contents"> <a href="BitString_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * steghide 0.5.1 - a steganography program</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at></span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modify it under the terms of the GNU General Public License</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * as published by the Free Software Foundation; either version 2</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef SH_BITSTRING_H</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#define SH_BITSTRING_H</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <vector></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="AUtils_8h.html">AUtils.h</a>"</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="common_8h.html">common.h</a>"</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> <div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classBitString.html"> 42</a></span> <span class="keyword">class </span><a class="code" href="classBitString.html">BitString</a> {</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString</a> (<a class="code" href="common_8h.html#acf820202f81f25eb00734eac0d7aed2d">EmbValue</a> arity = 2) ;</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString</a> (<span class="keyword">const</span> <a class="code" href="classBitString.html">BitString</a>& bs) ;</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> l) ;</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString</a> (<span class="keyword">const</span> std::vector<BYTE>& d) ;</div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString</a> (<span class="keyword">const</span> std::string& d) ;</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordtype">void</span> <a class="code" href="classBitString.html#a696e9315d08b21687305759c496578aa">setArity</a> (<a class="code" href="common_8h.html#acf820202f81f25eb00734eac0d7aed2d">EmbValue</a> arity) ;</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classBitString.html#a9d17f3ba63d4d774767be62137778df2"> 71</a></span>  <a class="code" href="common_8h.html#acf820202f81f25eb00734eac0d7aed2d">EmbValue</a> <a class="code" href="classBitString.html#a9d17f3ba63d4d774767be62137778df2">getArity</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classBitString.html#a8c2570628e6d2ae2d434623ed5295580">Arity</a> ; } ;</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classBitString.html#a04395c533afd80cef296c3cb4a19ff20"> 77</a></span>  <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="code" href="classBitString.html#a04395c533afd80cef296c3cb4a19ff20">getLength</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span></div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classBitString.html#a1ce6fb38dd0fd270a4ede3e03c140b8b">Length</a> ; } ;</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> <div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classBitString.html#a5002482cf83409bdb5bdc3fe90c3aac9"> 83</a></span>  <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="code" href="classBitString.html#a5002482cf83409bdb5bdc3fe90c3aac9">getNAryLength</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span></div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> AUtils::div_roundup<UWORD32> (<a class="code" href="classBitString.html#a1ce6fb38dd0fd270a4ede3e03c140b8b">Length</a>, <a class="code" href="classBitString.html#ac6056d95052daa9fe44a463739ef2c85">ArityNBits</a>) ; } ;</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a637a77a6a57b3408074054df325fe034">clear</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> <a class="code" href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a> v) ;</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> <a class="code" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> v, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> n = 8) ;</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  </div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> <a class="code" href="common_8h.html#a9346f50cd1a0569efeb685f429a562ff">UWORD16</a> v, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> n = 16) ;</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  </div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> v, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> n = 32) ;</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> std::string& v) ;</div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> std::vector<BYTE>& v) ;</div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a43042eba8b79a3efc08cad681863c493">append</a> (<span class="keyword">const</span> <a class="code" href="classBitString.html">BitString</a>& v) ;</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#af0b397d9fffc60fc050befbfec2e1b90">setBit</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> i, <a class="code" href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a> v) ;</div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classBitString.html">BitString</a> <a class="code" href="classBitString.html#a73c6f4b90418235a2756f18e300b291c">getBits</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> s, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> l) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classBitString.html">BitString</a> <a class="code" href="classBitString.html#a85e14a7a954d657ff9e55c80c008619c">cutBits</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> s, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> l) ;</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="code" href="classBitString.html#af9520a0803afa609183b1a4fc03f8ec5">getValue</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> s, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> l) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> std::vector<BYTE>& <a class="code" href="classBitString.html#ae0399f671830b05b71fe4fe0880eafe4">getBytes</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div> <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#aadcb23a7c46ba7d9c1b3c2b7e50a8e50">truncate</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> s, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> e) ;</div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a2f544dd02f977b20d5121c11155873cb">pad</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mult, <span class="keyword">const</span> <a class="code" href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a> v) ;</div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#a81016ee82a1dae533f69b667edcd9aaf">padRandom</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mult) ;</div> <div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div> <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> <a class="code" href="classBitString.html#a77dabde8c3fe6d53c2309a5fdab76dbc">getNAry</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> p) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordtype">void</span> <a class="code" href="classBitString.html#aae456867a0bec9097d27c0b8b2b5d987">appendNAry</a> (<a class="code" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> v) ;</div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor">#ifdef USE_ZLIB</span></div> <div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="classBitString.html">BitString</a>& compress (<span class="keywordtype">int</span> level) ;</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="classBitString.html">BitString</a>& uncompress (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> idestlen) ;</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#endif // def USE_ZLIB</span></div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a> <a class="code" href="classBitString.html#acbfaa92509e3206ed1fdf7fa0ec5b6fd">operator[] </a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> i) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="classBitString.html">BitString</a>& <a class="code" href="classBitString.html#aa28899ac5fbc7b22f842c6a980132625">operator^= </a>(<span class="keyword">const</span> <a class="code" href="classBitString.html">BitString</a> &v) ;</div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordtype">bool</span> <a class="code" href="classBitString.html#a065816250f1f854b8e3e25f6f053b5bb">operator== </a>(<span class="keyword">const</span> <a class="code" href="classBitString.html">BitString</a>& v) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">bool</span> <a class="code" href="classBitString.html#a9950840f415528fd963a39557aec2516">operator!= </a>(<span class="keyword">const</span> <a class="code" href="classBitString.html">BitString</a>& v) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">void</span> <a class="code" href="classBitString.html#a32e741ac21db0cc6d487bcd78d3e17a1">print</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> spc = 0) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#ifdef DEBUG</span></div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"></span> <span class="keywordtype">void</span> printDebug (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> level, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> spc = 0) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classBitString.html#a1ce6fb38dd0fd270a4ede3e03c140b8b"> 264</a></span>  <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="code" href="classBitString.html#a1ce6fb38dd0fd270a4ede3e03c140b8b">Length</a> ;</div> <div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classBitString.html#a8c2570628e6d2ae2d434623ed5295580"> 266</a></span>  <a class="code" href="common_8h.html#acf820202f81f25eb00734eac0d7aed2d">EmbValue</a> <a class="code" href="classBitString.html#a8c2570628e6d2ae2d434623ed5295580">Arity</a> ;</div> <div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classBitString.html#ac6056d95052daa9fe44a463739ef2c85"> 268</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="classBitString.html#ac6056d95052daa9fe44a463739ef2c85">ArityNBits</a> ;</div> <div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classBitString.html#ab5c447f20d07eaa7f72b235f75ecea6e"> 270</a></span>  std::vector<BYTE> <a class="code" href="classBitString.html#ab5c447f20d07eaa7f72b235f75ecea6e">Data</a> ;</div> <div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div> <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">void</span> <a class="code" href="classBitString.html#a32a32cc700e14f34d5eea9d2ebfaa61b">_append</a> (<a class="code" href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a> v) ;</div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div> <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordtype">void</span> <a class="code" href="classBitString.html#aac2d664d0038b8c4c94309946367aab1">clearUnused</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> } ;</div> <div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor">#endif // ndef SH_BITSTRING_H</span></div> <div class="ttc" id="classBitString_html_a73c6f4b90418235a2756f18e300b291c"><div class="ttname"><a href="classBitString.html#a73c6f4b90418235a2756f18e300b291c">BitString::getBits</a></div><div class="ttdeci">BitString getBits(const unsigned long s, const unsigned long l) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:176</div></div> <div class="ttc" id="classBitString_html_a5002482cf83409bdb5bdc3fe90c3aac9"><div class="ttname"><a href="classBitString.html#a5002482cf83409bdb5bdc3fe90c3aac9">BitString::getNAryLength</a></div><div class="ttdeci">UWORD32 getNAryLength(void) const </div><div class="ttdef"><b>Definition:</b> BitString.h:83</div></div> <div class="ttc" id="common_8h_html_ad4ca9f2833516c0b9fec8faae85a80cf"><div class="ttname"><a href="common_8h.html#ad4ca9f2833516c0b9fec8faae85a80cf">BIT</a></div><div class="ttdeci">bool BIT</div><div class="ttdef"><b>Definition:</b> common.h:65</div></div> <div class="ttc" id="classBitString_html_a9950840f415528fd963a39557aec2516"><div class="ttname"><a href="classBitString.html#a9950840f415528fd963a39557aec2516">BitString::operator!=</a></div><div class="ttdeci">bool operator!=(const BitString &v) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:395</div></div> <div class="ttc" id="classBitString_html_a43042eba8b79a3efc08cad681863c493"><div class="ttname"><a href="classBitString.html#a43042eba8b79a3efc08cad681863c493">BitString::append</a></div><div class="ttdeci">BitString & append(const BIT v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:107</div></div> <div class="ttc" id="classBitString_html_a85e14a7a954d657ff9e55c80c008619c"><div class="ttname"><a href="classBitString.html#a85e14a7a954d657ff9e55c80c008619c">BitString::cutBits</a></div><div class="ttdeci">BitString cutBits(const unsigned long s, const unsigned long l)</div><div class="ttdef"><b>Definition:</b> BitString.cc:185</div></div> <div class="ttc" id="classBitString_html_ae0399f671830b05b71fe4fe0880eafe4"><div class="ttname"><a href="classBitString.html#ae0399f671830b05b71fe4fe0880eafe4">BitString::getBytes</a></div><div class="ttdeci">const std::vector< BYTE > & getBytes(void) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:214</div></div> <div class="ttc" id="classBitString_html_a065816250f1f854b8e3e25f6f053b5bb"><div class="ttname"><a href="classBitString.html#a065816250f1f854b8e3e25f6f053b5bb">BitString::operator==</a></div><div class="ttdeci">bool operator==(const BitString &v) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:376</div></div> <div class="ttc" id="classBitString_html_a77dabde8c3fe6d53c2309a5fdab76dbc"><div class="ttname"><a href="classBitString.html#a77dabde8c3fe6d53c2309a5fdab76dbc">BitString::getNAry</a></div><div class="ttdeci">BYTE getNAry(unsigned long p) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:260</div></div> <div class="ttc" id="classBitString_html_af9520a0803afa609183b1a4fc03f8ec5"><div class="ttname"><a href="classBitString.html#af9520a0803afa609183b1a4fc03f8ec5">BitString::getValue</a></div><div class="ttdeci">UWORD32 getValue(const unsigned long s, const unsigned short l) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:204</div></div> <div class="ttc" id="common_8h_html_a4ae1dab0fb4b072a66584546209e7d58"><div class="ttname"><a href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a></div><div class="ttdeci">unsigned char BYTE</div><div class="ttdef"><b>Definition:</b> common.h:47</div></div> <div class="ttc" id="AUtils_8h_html"><div class="ttname"><a href="AUtils_8h.html">AUtils.h</a></div></div> <div class="ttc" id="common_8h_html_a9346f50cd1a0569efeb685f429a562ff"><div class="ttname"><a href="common_8h.html#a9346f50cd1a0569efeb685f429a562ff">UWORD16</a></div><div class="ttdeci">unsigned short UWORD16</div><div class="ttdef"><b>Definition:</b> common.h:46</div></div> <div class="ttc" id="classBitString_html_af0b397d9fffc60fc050befbfec2e1b90"><div class="ttname"><a href="classBitString.html#af0b397d9fffc60fc050befbfec2e1b90">BitString::setBit</a></div><div class="ttdeci">BitString & setBit(unsigned long i, BIT v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:167</div></div> <div class="ttc" id="classBitString_html_acbfaa92509e3206ed1fdf7fa0ec5b6fd"><div class="ttname"><a href="classBitString.html#acbfaa92509e3206ed1fdf7fa0ec5b6fd">BitString::operator[]</a></div><div class="ttdeci">BIT operator[](const unsigned long i) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:161</div></div> <div class="ttc" id="classBitString_html_a1ce6fb38dd0fd270a4ede3e03c140b8b"><div class="ttname"><a href="classBitString.html#a1ce6fb38dd0fd270a4ede3e03c140b8b">BitString::Length</a></div><div class="ttdeci">UWORD32 Length</div><div class="ttdoc">the number of bits in Data </div><div class="ttdef"><b>Definition:</b> BitString.h:264</div></div> <div class="ttc" id="common_8h_html_a6b8592979b076e06aa233e3f586ac999"><div class="ttname"><a href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a></div><div class="ttdeci">unsigned long UWORD32</div><div class="ttdef"><b>Definition:</b> common.h:45</div></div> <div class="ttc" id="classBitString_html_aae456867a0bec9097d27c0b8b2b5d987"><div class="ttname"><a href="classBitString.html#aae456867a0bec9097d27c0b8b2b5d987">BitString::appendNAry</a></div><div class="ttdeci">void appendNAry(BYTE v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:270</div></div> <div class="ttc" id="classBitString_html_a637a77a6a57b3408074054df325fe034"><div class="ttname"><a href="classBitString.html#a637a77a6a57b3408074054df325fe034">BitString::clear</a></div><div class="ttdeci">BitString & clear(void)</div><div class="ttdef"><b>Definition:</b> BitString.cc:91</div></div> <div class="ttc" id="classBitString_html"><div class="ttname"><a href="classBitString.html">BitString</a></div><div class="ttdoc">a string of bits </div><div class="ttdef"><b>Definition:</b> BitString.h:42</div></div> <div class="ttc" id="classBitString_html_a32e741ac21db0cc6d487bcd78d3e17a1"><div class="ttname"><a href="classBitString.html#a32e741ac21db0cc6d487bcd78d3e17a1">BitString::print</a></div><div class="ttdeci">void print(unsigned short spc=0) const </div><div class="ttdef"><b>Definition:</b> BitString.cc:440</div></div> <div class="ttc" id="classBitString_html_a8c2570628e6d2ae2d434623ed5295580"><div class="ttname"><a href="classBitString.html#a8c2570628e6d2ae2d434623ed5295580">BitString::Arity</a></div><div class="ttdeci">EmbValue Arity</div><div class="ttdoc">the arity that will be used for getLength/getNAry/appendNAry </div><div class="ttdef"><b>Definition:</b> BitString.h:266</div></div> <div class="ttc" id="classBitString_html_aa28899ac5fbc7b22f842c6a980132625"><div class="ttname"><a href="classBitString.html#aa28899ac5fbc7b22f842c6a980132625">BitString::operator^=</a></div><div class="ttdeci">BitString & operator^=(const BitString &v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:414</div></div> <div class="ttc" id="classBitString_html_a32a32cc700e14f34d5eea9d2ebfaa61b"><div class="ttname"><a href="classBitString.html#a32a32cc700e14f34d5eea9d2ebfaa61b">BitString::_append</a></div><div class="ttdeci">void _append(BIT v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:98</div></div> <div class="ttc" id="classBitString_html_ac6056d95052daa9fe44a463739ef2c85"><div class="ttname"><a href="classBitString.html#ac6056d95052daa9fe44a463739ef2c85">BitString::ArityNBits</a></div><div class="ttdeci">unsigned short ArityNBits</div><div class="ttdoc">the number of Bits per n-ary digit (where n is Arity) </div><div class="ttdef"><b>Definition:</b> BitString.h:268</div></div> <div class="ttc" id="common_8h_html"><div class="ttname"><a href="common_8h.html">common.h</a></div></div> <div class="ttc" id="classBitString_html_ab5c447f20d07eaa7f72b235f75ecea6e"><div class="ttname"><a href="classBitString.html#ab5c447f20d07eaa7f72b235f75ecea6e">BitString::Data</a></div><div class="ttdeci">std::vector< BYTE > Data</div><div class="ttdoc">the actual data </div><div class="ttdef"><b>Definition:</b> BitString.h:270</div></div> <div class="ttc" id="classBitString_html_a696e9315d08b21687305759c496578aa"><div class="ttname"><a href="classBitString.html#a696e9315d08b21687305759c496578aa">BitString::setArity</a></div><div class="ttdeci">void setArity(EmbValue arity)</div><div class="ttdef"><b>Definition:</b> BitString.cc:80</div></div> <div class="ttc" id="common_8h_html_acf820202f81f25eb00734eac0d7aed2d"><div class="ttname"><a href="common_8h.html#acf820202f81f25eb00734eac0d7aed2d">EmbValue</a></div><div class="ttdeci">BYTE EmbValue</div><div class="ttdef"><b>Definition:</b> common.h:66</div></div> <div class="ttc" id="classBitString_html_aadcb23a7c46ba7d9c1b3c2b7e50a8e50"><div class="ttname"><a href="classBitString.html#aadcb23a7c46ba7d9c1b3c2b7e50a8e50">BitString::truncate</a></div><div class="ttdeci">BitString & truncate(const unsigned long s, const unsigned long e)</div><div class="ttdef"><b>Definition:</b> BitString.cc:220</div></div> <div class="ttc" id="classBitString_html_a2f544dd02f977b20d5121c11155873cb"><div class="ttname"><a href="classBitString.html#a2f544dd02f977b20d5121c11155873cb">BitString::pad</a></div><div class="ttdeci">BitString & pad(const unsigned long mult, const BIT v)</div><div class="ttdef"><b>Definition:</b> BitString.cc:244</div></div> <div class="ttc" id="classBitString_html_a1a8a22b2abccbde00e4ea54085000e7b"><div class="ttname"><a href="classBitString.html#a1a8a22b2abccbde00e4ea54085000e7b">BitString::BitString</a></div><div class="ttdeci">BitString(EmbValue arity=2)</div><div class="ttdef"><b>Definition:</b> BitString.cc:34</div></div> <div class="ttc" id="classBitString_html_a9d17f3ba63d4d774767be62137778df2"><div class="ttname"><a href="classBitString.html#a9d17f3ba63d4d774767be62137778df2">BitString::getArity</a></div><div class="ttdeci">EmbValue getArity(void) const </div><div class="ttdef"><b>Definition:</b> BitString.h:71</div></div> <div class="ttc" id="classBitString_html_a81016ee82a1dae533f69b667edcd9aaf"><div class="ttname"><a href="classBitString.html#a81016ee82a1dae533f69b667edcd9aaf">BitString::padRandom</a></div><div class="ttdeci">BitString & padRandom(const unsigned long mult)</div><div class="ttdef"><b>Definition:</b> BitString.cc:252</div></div> <div class="ttc" id="classBitString_html_aac2d664d0038b8c4c94309946367aab1"><div class="ttname"><a href="classBitString.html#aac2d664d0038b8c4c94309946367aab1">BitString::clearUnused</a></div><div class="ttdeci">void clearUnused(void)</div><div class="ttdef"><b>Definition:</b> BitString.cc:426</div></div> <div class="ttc" id="classBitString_html_a04395c533afd80cef296c3cb4a19ff20"><div class="ttname"><a href="classBitString.html#a04395c533afd80cef296c3cb4a19ff20">BitString::getLength</a></div><div class="ttdeci">UWORD32 getLength(void) const </div><div class="ttdef"><b>Definition:</b> BitString.h:77</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 18 2013 17:59:36 for steghide by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>