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="a00075.html">operation_deserializer</a>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00075.html">miniset</a>
33
33
<div class="contents">
34
<h1>bm::operation_deserializer< BV > Class Template Reference<br/>
34
<h1>bm::miniset< A, N > Class Template Reference<br/>
36
[<a class="el" href="a00121.html">bvector serialization</a>]</small>
37
</h1><!-- doxytag: class="bm::operation_deserializer" -->
38
<p>Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector.
36
[<a class="el" href="a00121.html">Small sets functionality</a>]</small>
37
</h1><!-- doxytag: class="bm::miniset" -->
38
<p>Template class implements memory saving set functionality.
39
39
<a href="#_details">More...</a></p>
41
<p><code>#include <<a class="el" href="a00092_source.html">bmserial.h</a>></code></p>
41
<p><code>#include <<a class="el" href="a00103_source.html">bmvmin.h</a>></code></p>
42
42
<table border="0" cellpadding="0" cellspacing="0">
43
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">typedef BV </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a1be10a9481e4f86a7906a827aeae76c3">bvector_type</a></td></tr>
45
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">static unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#aa2af1e50d6a0a0ddae72b5b0888f3e6f">deserialize</a> (<a class="el" href="a00075.html#a1be10a9481e4f86a7906a827aeae76c3">bvector_type</a> &bv, const unsigned char *buf, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, <a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op=bm::set_OR)</td></tr>
43
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a22e5b5c7d702203c5fa5b0480cd85c25">miniset</a> ()</td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a61e5961df48b9521392397a0863319ee">miniset</a> (const <a class="el" href="a00075.html">miniset</a> &mset)</td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a6e5569bf59dc0e96fd3637888f5e5fd1">~miniset</a> ()</td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a187012a7ef52ff62748c5b3937e4578c">test</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
48
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise. <a href="#a187012a7ef52ff62748c5b3937e4578c"></a><br/></td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a34d569e459720cb037a01d74bc6cccac">set</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a2b74fe02080d4d515893e749624e7797">mem_used</a> () const </td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#af94007643783b752eed263ac72ca8a5c">swap</a> (<a class="el" href="a00075.html">miniset</a> &mset)</td></tr>
48
53
<hr/><a name="_details"></a><h2>Detailed Description</h2>
49
<h3>template<class BV><br/>
50
class bm::operation_deserializer< BV ></h3>
52
<p>Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector. </p>
54
<p>Definition at line <a class="el" href="a00092_source.html#l00459">459</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
55
<hr/><h2>Member Typedef Documentation</h2>
56
<a class="anchor" id="a1be10a9481e4f86a7906a827aeae76c3"></a><!-- doxytag: member="bm::operation_deserializer::bvector_type" ref="a1be10a9481e4f86a7906a827aeae76c3" args="" -->
58
<div class="memproto">
59
<div class="memtemplate">
60
template<class BV > </div>
61
<table class="memname">
63
<td class="memname">typedef BV <a class="el" href="a00075.html">bm::operation_deserializer</a>< BV >::<a class="el" href="a00075.html#a1be10a9481e4f86a7906a827aeae76c3">bvector_type</a></td>
69
<p>Definition at line <a class="el" href="a00092_source.html#l00462">462</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
54
<h3>template<class A, size_t N><br/>
55
class bm::miniset< A, N ></h3>
57
<p>Template class implements memory saving set functionality. </p>
58
<p>Template can be used as template parameter for <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> if we want to tune <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> for minimal memory consumption.</p>
59
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00046.html" title="Mini bitvector used in bvector template to keep block type flags.">bvmini</a> </dd></dl>
60
<dl><dt><b>Examples: </b></dt><dd>
61
<p><a class="el" href="a00007.html#_a2">sample7.cpp</a>.</p>
64
<p>Definition at line <a class="el" href="a00103_source.html#l00053">53</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
65
<hr/><h2>Constructor & Destructor Documentation</h2>
66
<a class="anchor" id="a22e5b5c7d702203c5fa5b0480cd85c25"></a><!-- doxytag: member="bm::miniset::miniset" ref="a22e5b5c7d702203c5fa5b0480cd85c25" args="()" -->
68
<div class="memproto">
69
<div class="memtemplate">
70
template<class A, size_t N> </div>
71
<table class="memname">
73
<td class="memname"><a class="el" href="a00075.html">bm::miniset</a>< A, N >::<a class="el" href="a00075.html">miniset</a> </td>
75
<td class="paramname"></td>
76
<td> ) </td>
77
<td><code> [inline]</code></td>
83
<p>Definition at line <a class="el" href="a00103_source.html#l00057">57</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
87
<a class="anchor" id="a61e5961df48b9521392397a0863319ee"></a><!-- doxytag: member="bm::miniset::miniset" ref="a61e5961df48b9521392397a0863319ee" args="(const miniset &mset)" -->
89
<div class="memproto">
90
<div class="memtemplate">
91
template<class A, size_t N> </div>
92
<table class="memname">
94
<td class="memname"><a class="el" href="a00075.html">bm::miniset</a>< A, N >::<a class="el" href="a00075.html">miniset</a> </td>
96
<td class="paramtype">const <a class="el" href="a00075.html">miniset</a>< A, N > & </td>
97
<td class="paramname"> <em>mset</em></td>
98
<td> ) </td>
99
<td><code> [inline]</code></td>
105
<p>Definition at line <a class="el" href="a00103_source.html#l00062">62</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
109
<a class="anchor" id="a6e5569bf59dc0e96fd3637888f5e5fd1"></a><!-- doxytag: member="bm::miniset::~miniset" ref="a6e5569bf59dc0e96fd3637888f5e5fd1" args="()" -->
110
<div class="memitem">
111
<div class="memproto">
112
<div class="memtemplate">
113
template<class A, size_t N> </div>
114
<table class="memname">
116
<td class="memname"><a class="el" href="a00075.html">bm::miniset</a>< A, N >::~<a class="el" href="a00075.html">miniset</a> </td>
118
<td class="paramname"></td>
119
<td> ) </td>
120
<td><code> [inline]</code></td>
126
<p>Definition at line <a class="el" href="a00103_source.html#l00078">78</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
128
<p>References <a class="el" href="a00103_source.html#l00034">BM_MINISET_ARRSIZE</a>, and <a class="el" href="a00103_source.html#l00033">BM_MINISET_GAPLEN</a>.</p>
73
132
<hr/><h2>Member Function Documentation</h2>
74
<a class="anchor" id="aa2af1e50d6a0a0ddae72b5b0888f3e6f"></a><!-- doxytag: member="bm::operation_deserializer::deserialize" ref="aa2af1e50d6a0a0ddae72b5b0888f3e6f" args="(bvector_type &bv, const unsigned char *buf, bm::word_t *temp_block, set_operation op=bm::set_OR)" -->
76
<div class="memproto">
77
<div class="memtemplate">
78
template<class BV > </div>
79
<table class="memname">
81
<td class="memname">unsigned <a class="el" href="a00075.html">bm::operation_deserializer</a>< BV >::deserialize </td>
83
<td class="paramtype"><a class="el" href="a00075.html#a1be10a9481e4f86a7906a827aeae76c3">bvector_type</a> & </td>
84
<td class="paramname"> <em>bv</em>, </td>
87
<td class="paramkey"></td>
89
<td class="paramtype">const unsigned char * </td>
90
<td class="paramname"> <em>buf</em>, </td>
93
<td class="paramkey"></td>
95
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
96
<td class="paramname"> <em>temp_block</em>, </td>
99
<td class="paramkey"></td>
101
<td class="paramtype"><a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> </td>
102
<td class="paramname"> <em>op</em> = <code>bm::set_OR</code></td><td> </td>
133
<a class="anchor" id="a2b74fe02080d4d515893e749624e7797"></a><!-- doxytag: member="bm::miniset::mem_used" ref="a2b74fe02080d4d515893e749624e7797" args="() const " -->
134
<div class="memitem">
135
<div class="memproto">
136
<div class="memtemplate">
137
template<class A, size_t N> </div>
138
<table class="memname">
140
<td class="memname">unsigned <a class="el" href="a00075.html">bm::miniset</a>< A, N >::mem_used </td>
142
<td class="paramname"></td>
143
<td> ) </td>
144
<td> const<code> [inline]</code></td>
150
<p>Definition at line <a class="el" href="a00103_source.html#l00135">135</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
152
<p>References <a class="el" href="a00103_source.html#l00034">BM_MINISET_ARRSIZE</a>, and <a class="el" href="a00103_source.html#l00033">BM_MINISET_GAPLEN</a>.</p>
156
<a class="anchor" id="a34d569e459720cb037a01d74bc6cccac"></a><!-- doxytag: member="bm::miniset::set" ref="a34d569e459720cb037a01d74bc6cccac" args="(bm::id_t n, bool val=true)" -->
157
<div class="memitem">
158
<div class="memproto">
159
<div class="memtemplate">
160
template<class A, size_t N> </div>
161
<table class="memname">
163
<td class="memname">void <a class="el" href="a00075.html">bm::miniset</a>< A, N >::set </td>
165
<td class="paramtype"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
166
<td class="paramname"> <em>n</em>, </td>
169
<td class="paramkey"></td>
171
<td class="paramtype">bool </td>
172
<td class="paramname"> <em>val</em> = <code>true</code></td><td> </td>
107
<td></td><td></td><td><code> [inline, static]</code></td>
113
<p>Definition at line <a class="el" href="a00092_source.html#l02805">2805</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
115
<p>References <a class="el" href="a00090_source.html#l00364">bm::BigEndian</a>, <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00099">bm::BM_HM_NO_BO</a>, <a class="el" href="a00100_source.html#l00079">bm::decoder_base::get_8()</a>, and <a class="el" href="a00090_source.html#l00365">bm::LittleEndian</a>.</p>
177
<td></td><td></td><td><code> [inline]</code></td>
183
<p>Definition at line <a class="el" href="a00103_source.html#l00101">101</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
185
<p>References <a class="el" href="a00103_source.html#l00033">BM_MINISET_GAPLEN</a>, <a class="el" href="a00093_source.html#l01133">bm::gap_set_value()</a>, <a class="el" href="a00091_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00091_source.html#l00062">bm::set_word_shift</a>.</p>
189
<a class="anchor" id="af94007643783b752eed263ac72ca8a5c"></a><!-- doxytag: member="bm::miniset::swap" ref="af94007643783b752eed263ac72ca8a5c" args="(miniset &mset)" -->
190
<div class="memitem">
191
<div class="memproto">
192
<div class="memtemplate">
193
template<class A, size_t N> </div>
194
<table class="memname">
196
<td class="memname">void <a class="el" href="a00075.html">bm::miniset</a>< A, N >::swap </td>
198
<td class="paramtype"><a class="el" href="a00075.html">miniset</a>< A, N > & </td>
199
<td class="paramname"> <em>mset</em></td>
200
<td> ) </td>
201
<td><code> [inline]</code></td>
207
<p>Definition at line <a class="el" href="a00103_source.html#l00144">144</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
211
<a class="anchor" id="a187012a7ef52ff62748c5b3937e4578c"></a><!-- doxytag: member="bm::miniset::test" ref="a187012a7ef52ff62748c5b3937e4578c" args="(bm::id_t n) const " -->
212
<div class="memitem">
213
<div class="memproto">
214
<div class="memtemplate">
215
template<class A, size_t N> </div>
216
<table class="memname">
218
<td class="memname">unsigned <a class="el" href="a00075.html">bm::miniset</a>< A, N >::test </td>
220
<td class="paramtype"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
221
<td class="paramname"> <em>n</em></td>
222
<td> ) </td>
223
<td> const<code> [inline]</code></td>
229
<p>Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise. </p>
231
<p>Definition at line <a class="el" href="a00103_source.html#l00090">90</a> of file <a class="el" href="a00103_source.html">bmvmin.h</a>.</p>
233
<p>References <a class="el" href="a00093_source.html#l00489">bm::gap_test()</a>, <a class="el" href="a00091_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00091_source.html#l00062">bm::set_word_shift</a>.</p>
119
237
<hr/>The documentation for this class was generated from the following file:<ul>
120
<li><a class="el" href="a00092_source.html">bmserial.h</a></li>
238
<li><a class="el" href="a00103_source.html">bmvmin.h</a></li>
123
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:49 2009 for BitMagic by
241
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by
124
242
<a href="http://www.doxygen.org/index.html">
125
243
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>