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="a00043.html">bvector</a>::<a class="el" href="a00062.html">enumerator</a>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00062.html">encoder</a>
33
33
<div class="contents">
34
<h1>bm::bvector< Alloc, MS >::enumerator Class Reference<br/>
36
[<a class="el" href="a00113.html">The Main bvector<> Group</a>]</small>
37
</h1><!-- doxytag: class="bm::bvector::enumerator" --><!-- doxytag: inherits="bm::bvector::iterator_base" -->
38
<p>Constant input iterator designed to enumerate "ON" bits.
34
<h1>bm::encoder Class Reference</h1><!-- doxytag: class="bm::encoder" -->
39
36
<a href="#_details">More...</a></p>
41
<p><code>#include <<a class="el" href="a00084_source.html">bm.h</a>></code></p>
42
<div class="dynheader">
43
Inheritance diagram for bm::bvector< Alloc, MS >::enumerator:</div>
44
<div class="dynsection">
45
<div class="center"><img src="a00228.png" border="0" usemap="#bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_inherit__map" alt="Inheritance graph"/></div>
46
<map name="bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_inherit__map" id="bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_inherit__map">
47
<area shape="rect" href="a00048.html" title="Constant input iterator designed to enumerate "ON" bits counted_enumerator..." alt="" coords="5,160,301,189"/><area shape="rect" href="a00071.html" title="Base class for all iterators." alt="" coords="27,5,280,35"/></map>
48
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
49
<div class="dynheader">
50
Collaboration diagram for bm::bvector< Alloc, MS >::enumerator:</div>
51
<div class="dynsection">
52
<div class="center"><img src="a00229.png" border="0" usemap="#bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_coll__map" alt="Collaboration graph"/></div>
53
<map name="bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_coll__map" id="bm_1_1bvector_3_01Alloc_00_01MS_01_4_1_1enumerator_coll__map">
54
<area shape="rect" href="a00071.html" title="Base class for all iterators." alt="" coords="860,32,1113,61"/><area shape="rect" href="a00039.html" title="bm::bvector\< Alloc, MS \>::iterator_base::block_descr" alt="" coords="431,32,761,61"/><area shape="rect" href="a00059.html" title="Information about current DGAP block." alt="" coords="15,5,343,35"/><area shape="rect" href="a00034.html" title="Information about current bitblock." alt="" coords="5,59,352,88"/></map>
55
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
38
<p><code>#include <<a class="el" href="a00104_source.html">encoding.h</a>></code></p>
56
39
<table border="0" cellpadding="0" cellspacing="0">
57
40
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">typedef std::input_iterator_tag </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a0af72b4644bc1148f549d21a00330210">iterator_category</a></td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#add1a3fd37bf2915c5689733969d9ce78">value_type</a></td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a46bd8935b22e5a83be62e9e8e00785e1">difference_type</a></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ada062866d44923ecab233a51f4daf26e">pointer</a></td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a827edd466230259a8047f2c26baf830f">reference</a></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a06709edb97f0a4d861568e7813ec6d0c">position_type</a></td></tr>
63
42
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a4389008f0affee77ef761cab3e5d0f5d">enumerator</a> ()</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a9f59ce31704b3fe71cf41dc4eeffbd43">enumerator</a> (const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > *<a class="el" href="a00043.html">bvect</a>, int position)</td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#adc85b4fca8577fa3ab643fd087948f1b">operator*</a> () const </td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html">enumerator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#aab2b31ecf11e614cf2de6eab71d92512">operator++</a> ()</td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html">enumerator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1237d3258c73d41e93159063fb2708a0">operator++</a> (int)</td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a7443e66e31258638cdee4ed3bc2d368c">go_first</a> ()</td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html">enumerator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a58b4ee025ba7b6545eacad79e7031069">go_up</a> ()</td></tr>
43
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a00c57cd02d8ce5a3b82ec769bf482400">encoder</a> (unsigned char *buf, unsigned size)</td></tr>
44
<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction. <a href="#a00c57cd02d8ce5a3b82ec769bf482400"></a><br/></td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a143fd22a7268efa014474ce905db7cac">put_8</a> (unsigned char c)</td></tr>
46
<tr><td class="mdescLeft"> </td><td class="mdescRight">Puts one character into the encoding buffer. <a href="#a143fd22a7268efa014474ce905db7cac"></a><br/></td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a9ff98e99d5c3e4d9e48fd7ecf7d2666e">put_16</a> (<a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> s)</td></tr>
48
<tr><td class="mdescLeft"> </td><td class="mdescRight">Puts short word (16 bits) into the encoding buffer. <a href="#a9ff98e99d5c3e4d9e48fd7ecf7d2666e"></a><br/></td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1b34e915ecd39b8b1949b6414ef75992">put_16</a> (const <a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> *s, unsigned count)</td></tr>
50
<tr><td class="mdescLeft"> </td><td class="mdescRight">Method puts array of short words (16 bits) into the encoding buffer. <a href="#a1b34e915ecd39b8b1949b6414ef75992"></a><br/></td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a41455fea9cfa28ead897dd8970ce28bd">put_32</a> (<a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
52
<tr><td class="mdescLeft"> </td><td class="mdescRight">Puts 32 bits word into encoding buffer. <a href="#a41455fea9cfa28ead897dd8970ce28bd"></a><br/></td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#af7868794bedea1b4e4fa035e90dd0af0">put_32</a> (const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *w, unsigned count)</td></tr>
54
<tr><td class="mdescLeft"> </td><td class="mdescRight">Encodes array of 32-bit words. <a href="#af7868794bedea1b4e4fa035e90dd0af0"></a><br/></td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a638b1dece7bf74cf685baee973f17299">put_prefixed_array_32</a> (unsigned char c, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *w, unsigned count)</td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ae9319ec5694324047db48244526db8a2">put_prefixed_array_16</a> (unsigned char c, const <a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> *s, unsigned count, bool encode_count)</td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a6e2954f43df9eaabbd08b2922fa45c00">size</a> () const </td></tr>
58
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns size of the current encoding stream. <a href="#a6e2954f43df9eaabbd08b2922fa45c00"></a><br/></td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#af31fd9ee56e453ab02d9d6e88c6b51c3">get_pos</a> () const </td></tr>
60
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get current memory stream position. <a href="#af31fd9ee56e453ab02d9d6e88c6b51c3"></a><br/></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a044164d67decef17dbb21383c368c066">set_pos</a> (unsigned char *buf_pos)</td></tr>
62
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set current memory stream position. <a href="#a044164d67decef17dbb21383c368c066"></a><br/></td></tr>
72
64
<hr/><a name="_details"></a><h2>Detailed Description</h2>
73
<h3>template<class Alloc, class MS><br/>
74
class bm::bvector< Alloc, MS >::enumerator</h3>
65
<p>Memory encoding. </p>
66
<p>Class for encoding data into memory. Properly handles aligment issues with integer data types. </p>
76
<p>Constant input iterator designed to enumerate "ON" bits. </p>
77
<dl><dt><b>Examples: </b></dt><dd>
78
<p><a class="el" href="a00005.html#_a3">sample5.cpp</a>, <a class="el" href="a00007.html#_a18">sample7.cpp</a>, and <a class="el" href="a00008.html#_a7">sample8.cpp</a>.</p>
81
<p>Definition at line <a class="el" href="a00084_source.html#l00381">381</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
68
<p>Definition at line <a class="el" href="a00104_source.html#l00045">45</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
82
69
<hr/><h2>Member Typedef Documentation</h2>
83
<a class="anchor" id="a46bd8935b22e5a83be62e9e8e00785e1"></a><!-- doxytag: member="bm::bvector::enumerator::difference_type" ref="a46bd8935b22e5a83be62e9e8e00785e1" args="" -->
85
<div class="memproto">
86
<div class="memtemplate">
87
template<class Alloc, class MS> </div>
88
<table class="memname">
90
<td class="memname">typedef unsigned <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00062.html#a46bd8935b22e5a83be62e9e8e00785e1">enumerator::difference_type</a></td>
96
<p>Definition at line <a class="el" href="a00084_source.html#l00388">388</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
100
<a class="anchor" id="a0af72b4644bc1148f549d21a00330210"></a><!-- doxytag: member="bm::bvector::enumerator::iterator_category" ref="a0af72b4644bc1148f549d21a00330210" args="" -->
101
<div class="memitem">
102
<div class="memproto">
103
<div class="memtemplate">
104
template<class Alloc, class MS> </div>
105
<table class="memname">
107
<td class="memname">typedef std::input_iterator_tag <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00062.html#a0af72b4644bc1148f549d21a00330210">enumerator::iterator_category</a></td>
113
<p>Reimplemented in <a class="el" href="a00048.html#a171919f2a88ab74fcea53f9f75225712">bm::bvector< Alloc, MS >::counted_enumerator</a>.</p>
115
<p>Definition at line <a class="el" href="a00084_source.html#l00385">385</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
119
<a class="anchor" id="ada062866d44923ecab233a51f4daf26e"></a><!-- doxytag: member="bm::bvector::enumerator::pointer" ref="ada062866d44923ecab233a51f4daf26e" args="" -->
120
<div class="memitem">
121
<div class="memproto">
122
<div class="memtemplate">
123
template<class Alloc, class MS> </div>
124
<table class="memname">
126
<td class="memname">typedef unsigned* <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00062.html#ada062866d44923ecab233a51f4daf26e">enumerator::pointer</a></td>
132
<p>Definition at line <a class="el" href="a00084_source.html#l00389">389</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
136
<a class="anchor" id="a827edd466230259a8047f2c26baf830f"></a><!-- doxytag: member="bm::bvector::enumerator::reference" ref="a827edd466230259a8047f2c26baf830f" args="" -->
137
<div class="memitem">
138
<div class="memproto">
139
<div class="memtemplate">
140
template<class Alloc, class MS> </div>
141
<table class="memname">
143
<td class="memname">typedef unsigned& <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00062.html#a827edd466230259a8047f2c26baf830f">enumerator::reference</a></td>
149
<p>Definition at line <a class="el" href="a00084_source.html#l00390">390</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
153
<a class="anchor" id="add1a3fd37bf2915c5689733969d9ce78"></a><!-- doxytag: member="bm::bvector::enumerator::value_type" ref="add1a3fd37bf2915c5689733969d9ce78" args="" -->
154
<div class="memitem">
155
<div class="memproto">
156
<div class="memtemplate">
157
template<class Alloc, class MS> </div>
158
<table class="memname">
160
<td class="memname">typedef unsigned <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00062.html#add1a3fd37bf2915c5689733969d9ce78">enumerator::value_type</a></td>
166
<p>Definition at line <a class="el" href="a00084_source.html#l00387">387</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
70
<a class="anchor" id="a06709edb97f0a4d861568e7813ec6d0c"></a><!-- doxytag: member="bm::encoder::position_type" ref="a06709edb97f0a4d861568e7813ec6d0c" args="" -->
72
<div class="memproto">
73
<table class="memname">
75
<td class="memname">typedef unsigned char* <a class="el" href="a00062.html#a06709edb97f0a4d861568e7813ec6d0c">bm::encoder::position_type</a></td>
81
<p>Definition at line <a class="el" href="a00104_source.html#l00048">48</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
170
85
<hr/><h2>Constructor & Destructor Documentation</h2>
171
<a class="anchor" id="a4389008f0affee77ef761cab3e5d0f5d"></a><!-- doxytag: member="bm::bvector::enumerator::enumerator" ref="a4389008f0affee77ef761cab3e5d0f5d" args="()" -->
172
<div class="memitem">
173
<div class="memproto">
174
<div class="memtemplate">
175
template<class Alloc, class MS> </div>
176
<table class="memname">
178
<td class="memname"><a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::enumerator </td>
180
<td class="paramname"></td>
181
<td> ) </td>
182
<td><code> [inline]</code></td>
188
<p>Definition at line <a class="el" href="a00084_source.html#l00393">393</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
192
<a class="anchor" id="a9f59ce31704b3fe71cf41dc4eeffbd43"></a><!-- doxytag: member="bm::bvector::enumerator::enumerator" ref="a9f59ce31704b3fe71cf41dc4eeffbd43" args="(const bvector< Alloc, MS > *bvect, int position)" -->
193
<div class="memitem">
194
<div class="memproto">
195
<div class="memtemplate">
196
template<class Alloc, class MS> </div>
197
<table class="memname">
199
<td class="memname"><a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::enumerator </td>
201
<td class="paramtype">const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > * </td>
202
<td class="paramname"> <em>bvect</em>, </td>
86
<a class="anchor" id="a00c57cd02d8ce5a3b82ec769bf482400"></a><!-- doxytag: member="bm::encoder::encoder" ref="a00c57cd02d8ce5a3b82ec769bf482400" args="(unsigned char *buf, unsigned size)" -->
88
<div class="memproto">
89
<table class="memname">
91
<td class="memname">bm::encoder::encoder </td>
93
<td class="paramtype">unsigned char * </td>
94
<td class="paramname"> <em>buf</em>, </td>
205
97
<td class="paramkey"></td>
207
<td class="paramtype">int </td>
208
<td class="paramname"> <em>position</em></td><td> </td>
99
<td class="paramtype">unsigned </td>
100
<td class="paramname"> <em>size</em></td><td> </td>
217
109
<div class="memdoc">
219
<p>Definition at line <a class="el" href="a00084_source.html#l00394">394</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
111
<p>Construction. </p>
112
<dl><dt><b>Parameters:</b></dt><dd>
113
<table border="0" cellspacing="2" cellpadding="0">
114
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>- memory buffer pointer. </td></tr>
115
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>- size of the buffer </td></tr>
221
<p>References <a class="el" href="a00084_source.html#l00302">bm::bvector< Alloc, MS >::iterator_base::bv_</a>, <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00084_source.html#l00277">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>.</p>
120
<p>Definition at line <a class="el" href="a00104_source.html#l00509">509</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
225
124
<hr/><h2>Member Function Documentation</h2>
226
<a class="anchor" id="a7443e66e31258638cdee4ed3bc2d368c"></a><!-- doxytag: member="bm::bvector::enumerator::go_first" ref="a7443e66e31258638cdee4ed3bc2d368c" args="()" -->
227
<div class="memitem">
228
<div class="memproto">
229
<div class="memtemplate">
230
template<class Alloc, class MS> </div>
231
<table class="memname">
233
<td class="memname">void <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::go_first </td>
235
<td class="paramname"></td>
236
<td> ) </td>
237
<td><code> [inline]</code></td>
243
<p>Definition at line <a class="el" href="a00084_source.html#l00426">426</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
245
<p>References <a class="el" href="a00088_source.html#l00086">bm::bits_in_array</a>, <a class="el" href="a00088_source.html#l00085">bm::bits_in_block</a>, <a class="el" href="a00084_source.html#l00304">bm::bvector< Alloc, MS >::iterator_base::block_</a>, <a class="el" href="a00084_source.html#l00306">bm::bvector< Alloc, MS >::iterator_base::block_idx_</a>, <a class="el" href="a00084_source.html#l00305">bm::bvector< Alloc, MS >::iterator_base::block_type_</a>, <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00089_source.html#l00094">BM_IS_GAP</a>, <a class="el" href="a00084_source.html#l00302">bm::bvector< Alloc, MS >::iterator_base::bv_</a>, <a class="el" href="a00084_source.html#l00277">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>, <a class="el" href="a00084_source.html#l00303">bm::bvector< Alloc, MS >::iterator_base::position_</a>, and <a class="el" href="a00088_source.html#l00080">bm::set_array_size</a>.</p>
247
<p>Referenced by <a class="el" href="a00084_source.html#l00394">bm::bvector< Alloc, MS >::enumerator::enumerator()</a>.</p>
251
<a class="anchor" id="a58b4ee025ba7b6545eacad79e7031069"></a><!-- doxytag: member="bm::bvector::enumerator::go_up" ref="a58b4ee025ba7b6545eacad79e7031069" args="()" -->
252
<div class="memitem">
253
<div class="memproto">
254
<div class="memtemplate">
255
template<class Alloc, class MS> </div>
256
<table class="memname">
258
<td class="memname"><a class="el" href="a00062.html">enumerator</a>& <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::go_up </td>
260
<td class="paramname"></td>
261
<td> ) </td>
262
<td><code> [inline]</code></td>
268
<p>Definition at line <a class="el" href="a00084_source.html#l00491">491</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
270
<p>References <a class="el" href="a00071.html#a47ba31f695597a948e7e18971f5c6236">bm::bvector< Alloc, MS >::iterator_base::bdescr_</a>, <a class="el" href="a00090_source.html#l04296">bm::bit_list_4()</a>, <a class="el" href="a00088_source.html#l00086">bm::bits_in_array</a>, <a class="el" href="a00088_source.html#l00085">bm::bits_in_block</a>, <a class="el" href="a00084_source.html#l00304">bm::bvector< Alloc, MS >::iterator_base::block_</a>, <a class="el" href="a00084_source.html#l00306">bm::bvector< Alloc, MS >::iterator_base::block_idx_</a>, <a class="el" href="a00084_source.html#l00305">bm::bvector< Alloc, MS >::iterator_base::block_type_</a>, <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00089_source.html#l00094">BM_IS_GAP</a>, <a class="el" href="a00084_source.html#l00302">bm::bvector< Alloc, MS >::iterator_base::bv_</a>, <a class="el" href="a00088_source.html#l00071">bm::gap_max_bits</a>, <a class="el" href="a00084_source.html#l00277">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>, <a class="el" href="a00084_source.html#l00303">bm::bvector< Alloc, MS >::iterator_base::position_</a>, <a class="el" href="a00088_source.html#l00082">bm::set_array_mask</a>, <a class="el" href="a00088_source.html#l00081">bm::set_array_shift</a>, <a class="el" href="a00088_source.html#l00080">bm::set_array_size</a>, and <a class="el" href="a00088_source.html#l00052">bm::set_block_size</a>.</p>
272
<p>Referenced by <a class="el" href="a00084_source.html#l00748">bm::bvector< Alloc, MS >::counted_enumerator::operator++()</a>, and <a class="el" href="a00084_source.html#l00413">bm::bvector< Alloc, MS >::enumerator::operator++()</a>.</p>
276
<a class="anchor" id="adc85b4fca8577fa3ab643fd087948f1b"></a><!-- doxytag: member="bm::bvector::enumerator::operator*" ref="adc85b4fca8577fa3ab643fd087948f1b" args="() const " -->
277
<div class="memitem">
278
<div class="memproto">
279
<div class="memtemplate">
280
template<class Alloc, class MS> </div>
281
<table class="memname">
283
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::operator* </td>
285
<td class="paramname"></td>
286
<td> ) </td>
287
<td> const<code> [inline]</code></td>
293
<p>Definition at line <a class="el" href="a00084_source.html#l00408">408</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
295
<p>References <a class="el" href="a00084_source.html#l00303">bm::bvector< Alloc, MS >::iterator_base::position_</a>.</p>
299
<a class="anchor" id="a1237d3258c73d41e93159063fb2708a0"></a><!-- doxytag: member="bm::bvector::enumerator::operator++" ref="a1237d3258c73d41e93159063fb2708a0" args="(int)" -->
300
<div class="memitem">
301
<div class="memproto">
302
<div class="memtemplate">
303
template<class Alloc, class MS> </div>
304
<table class="memname">
306
<td class="memname"><a class="el" href="a00062.html">enumerator</a> <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::operator++ </td>
308
<td class="paramtype">int </td>
309
<td class="paramname"></td>
310
<td> ) </td>
311
<td><code> [inline]</code></td>
317
<p>Reimplemented in <a class="el" href="a00048.html#a91b38c1ed0a8c913684ad02bcfd67b84">bm::bvector< Alloc, MS >::counted_enumerator</a>.</p>
319
<p>Definition at line <a class="el" href="a00084_source.html#l00418">418</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
321
<p>References <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
325
<a class="anchor" id="aab2b31ecf11e614cf2de6eab71d92512"></a><!-- doxytag: member="bm::bvector::enumerator::operator++" ref="aab2b31ecf11e614cf2de6eab71d92512" args="()" -->
326
<div class="memitem">
327
<div class="memproto">
328
<div class="memtemplate">
329
template<class Alloc, class MS> </div>
330
<table class="memname">
332
<td class="memname"><a class="el" href="a00062.html">enumerator</a>& <a class="el" href="a00043.html">bm::bvector</a>< Alloc, MS >::enumerator::operator++ </td>
334
<td class="paramname"></td>
335
<td> ) </td>
336
<td><code> [inline]</code></td>
342
<p>Reimplemented in <a class="el" href="a00048.html#a65e58d9cb5ad45c89502c50e346c0f70">bm::bvector< Alloc, MS >::counted_enumerator</a>.</p>
344
<p>Definition at line <a class="el" href="a00084_source.html#l00413">413</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
346
<p>References <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
125
<a class="anchor" id="af31fd9ee56e453ab02d9d6e88c6b51c3"></a><!-- doxytag: member="bm::encoder::get_pos" ref="af31fd9ee56e453ab02d9d6e88c6b51c3" args="() const " -->
126
<div class="memitem">
127
<div class="memproto">
128
<table class="memname">
130
<td class="memname"><a class="el" href="a00062.html#a06709edb97f0a4d861568e7813ec6d0c">encoder::position_type</a> bm::encoder::get_pos </td>
132
<td class="paramname"></td>
133
<td> ) </td>
134
<td> const<code> [inline]</code></td>
140
<p>Get current memory stream position. </p>
142
<p>Definition at line <a class="el" href="a00104_source.html#l00611">611</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
144
<p>Referenced by <a class="el" href="a00096_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, and <a class="el" href="a00096_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>.</p>
148
<a class="anchor" id="a1b34e915ecd39b8b1949b6414ef75992"></a><!-- doxytag: member="bm::encoder::put_16" ref="a1b34e915ecd39b8b1949b6414ef75992" args="(const bm::short_t *s, unsigned count)" -->
149
<div class="memitem">
150
<div class="memproto">
151
<table class="memname">
153
<td class="memname">void bm::encoder::put_16 </td>
155
<td class="paramtype">const <a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> * </td>
156
<td class="paramname"> <em>s</em>, </td>
159
<td class="paramkey"></td>
161
<td class="paramtype">unsigned </td>
162
<td class="paramname"> <em>count</em></td><td> </td>
167
<td></td><td></td><td><code> [inline]</code></td>
173
<p>Method puts array of short words (16 bits) into the encoding buffer. </p>
175
<p>Definition at line <a class="el" href="a00104_source.html#l00569">569</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
179
<a class="anchor" id="a9ff98e99d5c3e4d9e48fd7ecf7d2666e"></a><!-- doxytag: member="bm::encoder::put_16" ref="a9ff98e99d5c3e4d9e48fd7ecf7d2666e" args="(bm::short_t s)" -->
180
<div class="memitem">
181
<div class="memproto">
182
<table class="memname">
184
<td class="memname">BMFORCEINLINE void bm::encoder::put_16 </td>
186
<td class="paramtype"><a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> </td>
187
<td class="paramname"> <em>s</em></td>
188
<td> ) </td>
195
<p>Puts short word (16 bits) into the encoding buffer. </p>
196
<dl><dt><b>Parameters:</b></dt><dd>
197
<table border="0" cellspacing="2" cellpadding="0">
198
<tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>- short word to encode </td></tr>
203
<p>Definition at line <a class="el" href="a00104_source.html#l00554">554</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
205
<p>Referenced by <a class="el" href="a00096_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00096_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00096_source.html#l00530">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00096_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00104_source.html#l00527">put_prefixed_array_16()</a>, and <a class="el" href="a00096_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
209
<a class="anchor" id="af7868794bedea1b4e4fa035e90dd0af0"></a><!-- doxytag: member="bm::encoder::put_32" ref="af7868794bedea1b4e4fa035e90dd0af0" args="(const bm::word_t *w, unsigned count)" -->
210
<div class="memitem">
211
<div class="memproto">
212
<table class="memname">
214
<td class="memname">void bm::encoder::put_32 </td>
216
<td class="paramtype">const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
217
<td class="paramname"> <em>w</em>, </td>
220
<td class="paramkey"></td>
222
<td class="paramtype">unsigned </td>
223
<td class="paramname"> <em>count</em></td><td> </td>
228
<td></td><td></td><td><code> [inline]</code></td>
234
<p>Encodes array of 32-bit words. </p>
236
<p>Definition at line <a class="el" href="a00104_source.html#l00647">647</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
240
<a class="anchor" id="a41455fea9cfa28ead897dd8970ce28bd"></a><!-- doxytag: member="bm::encoder::put_32" ref="a41455fea9cfa28ead897dd8970ce28bd" args="(bm::word_t w)" -->
241
<div class="memitem">
242
<div class="memproto">
243
<table class="memname">
245
<td class="memname">BMFORCEINLINE void bm::encoder::put_32 </td>
247
<td class="paramtype"><a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> </td>
248
<td class="paramname"> <em>w</em></td>
249
<td> ) </td>
256
<p>Puts 32 bits word into encoding buffer. </p>
257
<dl><dt><b>Parameters:</b></dt><dd>
258
<table border="0" cellspacing="2" cellpadding="0">
259
<tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>- word to encode. </td></tr>
264
<p>Definition at line <a class="el" href="a00104_source.html#l00630">630</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
266
<p>Referenced by <a class="el" href="a00096_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00096_source.html#l00530">bm::serializer< BV >::encode_header()</a>, and <a class="el" href="a00104_source.html#l00516">put_prefixed_array_32()</a>.</p>
270
<a class="anchor" id="a143fd22a7268efa014474ce905db7cac"></a><!-- doxytag: member="bm::encoder::put_8" ref="a143fd22a7268efa014474ce905db7cac" args="(unsigned char c)" -->
271
<div class="memitem">
272
<div class="memproto">
273
<table class="memname">
275
<td class="memname">BMFORCEINLINE void bm::encoder::put_8 </td>
277
<td class="paramtype">unsigned char </td>
278
<td class="paramname"> <em>c</em></td>
279
<td> ) </td>
286
<p>Puts one character into the encoding buffer. </p>
287
<dl><dt><b>Parameters:</b></dt><dd>
288
<table border="0" cellspacing="2" cellpadding="0">
289
<tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>- character to encode </td></tr>
294
<p>Definition at line <a class="el" href="a00104_source.html#l00544">544</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
296
<p>Referenced by <a class="el" href="a00096_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00096_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00096_source.html#l00530">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00096_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00096_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00104_source.html#l00527">put_prefixed_array_16()</a>, <a class="el" href="a00104_source.html#l00516">put_prefixed_array_32()</a>, and <a class="el" href="a00096_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
300
<a class="anchor" id="ae9319ec5694324047db48244526db8a2"></a><!-- doxytag: member="bm::encoder::put_prefixed_array_16" ref="ae9319ec5694324047db48244526db8a2" args="(unsigned char c, const bm::short_t *s, unsigned count, bool encode_count)" -->
301
<div class="memitem">
302
<div class="memproto">
303
<table class="memname">
305
<td class="memname">void bm::encoder::put_prefixed_array_16 </td>
307
<td class="paramtype">unsigned char </td>
308
<td class="paramname"> <em>c</em>, </td>
311
<td class="paramkey"></td>
313
<td class="paramtype">const <a class="el" href="a00115.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> * </td>
314
<td class="paramname"> <em>s</em>, </td>
317
<td class="paramkey"></td>
319
<td class="paramtype">unsigned </td>
320
<td class="paramname"> <em>count</em>, </td>
323
<td class="paramkey"></td>
325
<td class="paramtype">bool </td>
326
<td class="paramname"> <em>encode_count</em></td><td> </td>
331
<td></td><td></td><td><code> [inline]</code></td>
336
<p>Encode 8-bit prefix + an array </p>
338
<p>Definition at line <a class="el" href="a00104_source.html#l00527">527</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
340
<p>References <a class="el" href="a00104_source.html#l00554">put_16()</a>, and <a class="el" href="a00104_source.html#l00544">put_8()</a>.</p>
342
<p>Referenced by <a class="el" href="a00096_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>.</p>
346
<a class="anchor" id="a638b1dece7bf74cf685baee973f17299"></a><!-- doxytag: member="bm::encoder::put_prefixed_array_32" ref="a638b1dece7bf74cf685baee973f17299" args="(unsigned char c, const bm::word_t *w, unsigned count)" -->
347
<div class="memitem">
348
<div class="memproto">
349
<table class="memname">
351
<td class="memname">void bm::encoder::put_prefixed_array_32 </td>
353
<td class="paramtype">unsigned char </td>
354
<td class="paramname"> <em>c</em>, </td>
357
<td class="paramkey"></td>
359
<td class="paramtype">const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
360
<td class="paramname"> <em>w</em>, </td>
363
<td class="paramkey"></td>
365
<td class="paramtype">unsigned </td>
366
<td class="paramname"> <em>count</em></td><td> </td>
371
<td></td><td></td><td><code> [inline]</code></td>
376
<p>Encode 8-bit prefix + an array </p>
378
<p>Definition at line <a class="el" href="a00104_source.html#l00516">516</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
380
<p>References <a class="el" href="a00104_source.html#l00630">put_32()</a>, and <a class="el" href="a00104_source.html#l00544">put_8()</a>.</p>
382
<p>Referenced by <a class="el" href="a00096_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
386
<a class="anchor" id="a044164d67decef17dbb21383c368c066"></a><!-- doxytag: member="bm::encoder::set_pos" ref="a044164d67decef17dbb21383c368c066" args="(unsigned char *buf_pos)" -->
387
<div class="memitem">
388
<div class="memproto">
389
<table class="memname">
391
<td class="memname">void bm::encoder::set_pos </td>
393
<td class="paramtype">unsigned char * </td>
394
<td class="paramname"> <em>buf_pos</em></td>
395
<td> ) </td>
396
<td><code> [inline]</code></td>
402
<p>Set current memory stream position. </p>
404
<p>Definition at line <a class="el" href="a00104_source.html#l00619">619</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
406
<p>Referenced by <a class="el" href="a00096_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, and <a class="el" href="a00096_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>.</p>
410
<a class="anchor" id="a6e2954f43df9eaabbd08b2922fa45c00"></a><!-- doxytag: member="bm::encoder::size" ref="a6e2954f43df9eaabbd08b2922fa45c00" args="() const " -->
411
<div class="memitem">
412
<div class="memproto">
413
<table class="memname">
415
<td class="memname">unsigned bm::encoder::size </td>
417
<td class="paramname"></td>
418
<td> ) </td>
419
<td> const<code> [inline]</code></td>
425
<p>Returns size of the current encoding stream. </p>
427
<p>Definition at line <a class="el" href="a00104_source.html#l00603">603</a> of file <a class="el" href="a00104_source.html">encoding.h</a>.</p>
429
<p>Referenced by <a class="el" href="a00096_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
350
433
<hr/>The documentation for this class was generated from the following file:<ul>
351
<li><a class="el" href="a00084_source.html">bm.h</a></li>
434
<li><a class="el" href="a00104_source.html">encoding.h</a></li>
354
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:46 2009 for BitMagic by
437
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by
355
438
<a href="http://www.doxygen.org/index.html">
356
439
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>