27
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
30
<div class="navpath"><a class="el" href="a00110.html">bm</a>::<a class="el" href="a00053.html">decoder</a>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00053.html">DeBruijn_bit_position</a>
33
33
<div class="contents">
34
<h1>bm::decoder Class Reference</h1><!-- doxytag: class="bm::decoder" --><!-- doxytag: inherits="bm::decoder_base" -->
35
<p>Class for decoding data from memory buffer.
36
<a href="#_details">More...</a></p>
38
<p><code>#include <<a class="el" href="a00100_source.html">encoding.h</a>></code></p>
39
<div class="dynheader">
40
Inheritance diagram for bm::decoder:</div>
41
<div class="dynsection">
42
<div class="center"><img src="a00239.png" border="0" usemap="#bm_1_1decoder_inherit__map" alt="Inheritance graph"/></div>
43
<map name="bm_1_1decoder_inherit__map" id="bm_1_1decoder_inherit__map">
44
<area shape="rect" href="a00054.html" title="Base class for all decoding functionality." alt="" coords="5,5,133,35"/></map>
45
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
46
<div class="dynheader">
47
Collaboration diagram for bm::decoder:</div>
48
<div class="dynsection">
49
<div class="center"><img src="a00240.png" border="0" usemap="#bm_1_1decoder_coll__map" alt="Collaboration graph"/></div>
50
<map name="bm_1_1decoder_coll__map" id="bm_1_1decoder_coll__map">
51
<area shape="rect" href="a00054.html" title="Base class for all decoding functionality." alt="" coords="5,5,133,35"/></map>
52
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
34
<h1>bm::DeBruijn_bit_position< T > Struct Template Reference</h1><!-- doxytag: class="bm::DeBruijn_bit_position" -->
35
<p><code>#include <<a class="el" href="a00091_source.html">bmconst.h</a>></code></p>
53
36
<table border="0" cellpadding="0" cellspacing="0">
54
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a73bf9b02a979483dcb1b06f71191a358">decoder</a> (const unsigned char *buf)</td></tr>
56
<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction. <a href="#a73bf9b02a979483dcb1b06f71191a358"></a><br/></td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a870cab2b7facfd504cc094bcfcbe0fd5">get_16</a> ()</td></tr>
58
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads 16bit word from the decoding buffer. <a href="#a870cab2b7facfd504cc094bcfcbe0fd5"></a><br/></td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a14e9ecc4a864b259ee445c2cf434df96">get_32</a> ()</td></tr>
60
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads 32 bit word from the decoding buffer. <a href="#a14e9ecc4a864b259ee445c2cf434df96"></a><br/></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a216e3cd09d77a216ded7038e676f79d5">get_32</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *w, unsigned count)</td></tr>
62
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads block of 32-bit words from the decoding buffer. <a href="#a216e3cd09d77a216ded7038e676f79d5"></a><br/></td></tr>
63
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a053d500db2a141a8f29a8a1f5431434d">get_16</a> (<a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> *s, unsigned count)</td></tr>
64
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads block of 32-bit words from the decoding buffer. <a href="#a053d500db2a141a8f29a8a1f5431434d"></a><br/></td></tr>
37
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#aaf8d9a0b19ec4d44662475343cf31fdf">_multiply</a> [32]</td></tr>
66
40
<hr/><a name="_details"></a><h2>Detailed Description</h2>
67
<p>Class for decoding data from memory buffer. </p>
68
<p>Properly handles aligment issues with integer data types. </p>
70
<p>Definition at line <a class="el" href="a00100_source.html#l00097">97</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
71
<hr/><h2>Constructor & Destructor Documentation</h2>
72
<a class="anchor" id="a73bf9b02a979483dcb1b06f71191a358"></a><!-- doxytag: member="bm::decoder::decoder" ref="a73bf9b02a979483dcb1b06f71191a358" args="(const unsigned char *buf)" -->
74
<div class="memproto">
75
<table class="memname">
77
<td class="memname">bm::decoder::decoder </td>
79
<td class="paramtype">const unsigned char * </td>
80
<td class="paramname"> <em>buf</em></td>
81
<td> ) </td>
82
<td><code> [inline]</code></td>
89
<dl><dt><b>Parameters:</b></dt><dd>
90
<table border="0" cellspacing="2" cellpadding="0">
91
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>- pointer to the decoding memory. </td></tr>
96
<p>Definition at line <a class="el" href="a00100_source.html#l00687">687</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
100
<hr/><h2>Member Function Documentation</h2>
101
<a class="anchor" id="a053d500db2a141a8f29a8a1f5431434d"></a><!-- doxytag: member="bm::decoder::get_16" ref="a053d500db2a141a8f29a8a1f5431434d" args="(bm::short_t *s, unsigned count)" -->
102
<div class="memitem">
103
<div class="memproto">
104
<table class="memname">
106
<td class="memname">void bm::decoder::get_16 </td>
108
<td class="paramtype"><a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> * </td>
109
<td class="paramname"> <em>s</em>, </td>
112
<td class="paramkey"></td>
114
<td class="paramtype">unsigned </td>
115
<td class="paramname"> <em>count</em></td><td> </td>
120
<td></td><td></td><td><code> [inline]</code></td>
126
<p>Reads block of 32-bit words from the decoding buffer. </p>
127
<dl><dt><b>Parameters:</b></dt><dd>
128
<table border="0" cellspacing="2" cellpadding="0">
129
<tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>- pointer on memory block to read into. </td></tr>
130
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- size of memory block in words. </td></tr>
135
<p>Definition at line <a class="el" href="a00100_source.html#l00764">764</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
137
<p>References <a class="el" href="a00100_source.html#l00087">bm::decoder_base::buf_</a>, and <a class="el" href="a00100_source.html#l00085">bm::decoder_base::seek()</a>.</p>
141
<a class="anchor" id="a870cab2b7facfd504cc094bcfcbe0fd5"></a><!-- doxytag: member="bm::decoder::get_16" ref="a870cab2b7facfd504cc094bcfcbe0fd5" args="()" -->
142
<div class="memitem">
143
<div class="memproto">
144
<table class="memname">
146
<td class="memname">BMFORCEINLINE <a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> bm::decoder::get_16 </td>
148
<td class="paramname"></td>
149
<td> ) </td>
156
<p>Reads 16bit word from the decoding buffer. </p>
158
<p>Definition at line <a class="el" href="a00100_source.html#l00696">696</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
160
<p>References <a class="el" href="a00100_source.html#l00087">bm::decoder_base::buf_</a>.</p>
164
<a class="anchor" id="a216e3cd09d77a216ded7038e676f79d5"></a><!-- doxytag: member="bm::decoder::get_32" ref="a216e3cd09d77a216ded7038e676f79d5" args="(bm::word_t *w, unsigned count)" -->
165
<div class="memitem">
166
<div class="memproto">
167
<table class="memname">
169
<td class="memname">void bm::decoder::get_32 </td>
171
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
172
<td class="paramname"> <em>w</em>, </td>
175
<td class="paramkey"></td>
177
<td class="paramtype">unsigned </td>
178
<td class="paramname"> <em>count</em></td><td> </td>
183
<td></td><td></td><td><code> [inline]</code></td>
189
<p>Reads block of 32-bit words from the decoding buffer. </p>
190
<dl><dt><b>Parameters:</b></dt><dd>
191
<table border="0" cellspacing="2" cellpadding="0">
192
<tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>- pointer on memory block to read into. </td></tr>
193
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- size of memory block in words. </td></tr>
198
<p>Definition at line <a class="el" href="a00100_source.html#l00730">730</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
200
<p>References <a class="el" href="a00100_source.html#l00087">bm::decoder_base::buf_</a>, and <a class="el" href="a00100_source.html#l00085">bm::decoder_base::seek()</a>.</p>
204
<a class="anchor" id="a14e9ecc4a864b259ee445c2cf434df96"></a><!-- doxytag: member="bm::decoder::get_32" ref="a14e9ecc4a864b259ee445c2cf434df96" args="()" -->
205
<div class="memitem">
206
<div class="memproto">
207
<table class="memname">
209
<td class="memname">BMFORCEINLINE <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> bm::decoder::get_32 </td>
211
<td class="paramname"></td>
212
<td> ) </td>
219
<p>Reads 32 bit word from the decoding buffer. </p>
221
<p>Definition at line <a class="el" href="a00100_source.html#l00711">711</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
223
<p>References <a class="el" href="a00100_source.html#l00087">bm::decoder_base::buf_</a>.</p>
227
<hr/>The documentation for this class was generated from the following file:<ul>
228
<li><a class="el" href="a00100_source.html">encoding.h</a></li>
41
<h3>template<bool T><br/>
42
struct bm::DeBruijn_bit_position< T ></h3>
45
<p>Definition at line <a class="el" href="a00091_source.html#l00133">133</a> of file <a class="el" href="a00091_source.html">bmconst.h</a>.</p>
46
<hr/><h2>Field Documentation</h2>
47
<a class="anchor" id="aaf8d9a0b19ec4d44662475343cf31fdf"></a><!-- doxytag: member="bm::DeBruijn_bit_position::_multiply" ref="aaf8d9a0b19ec4d44662475343cf31fdf" args="[32]" -->
49
<div class="memproto">
50
<div class="memtemplate">
51
template<bool T> </div>
52
<table class="memname">
54
<td class="memname">const unsigned <a class="el" href="a00053.html">bm::DeBruijn_bit_position</a>< T >::<a class="el" href="a00053.html#aaf8d9a0b19ec4d44662475343cf31fdf">_multiply</a><code> [inline, static]</code></td>
59
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
60
0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
61
31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
64
<p>Definition at line <a class="el" href="a00091_source.html#l00135">135</a> of file <a class="el" href="a00091_source.html">bmconst.h</a>.</p>
68
<hr/>The documentation for this struct was generated from the following file:<ul>
69
<li><a class="el" href="a00091_source.html">bmconst.h</a></li>
231
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:47 2009 for BitMagic by
72
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by
232
73
<a href="http://www.doxygen.org/index.html">
233
74
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>