29
29
<div class="contents">
30
<h1>bmserial.h File Reference</h1><code>#include "<a class="el" href="a00087_source.html">bm.h</a>"</code><br/>
31
<code>#include "<a class="el" href="a00104_source.html">encoding.h</a>"</code><br/>
32
<code>#include "<a class="el" href="a00092_source.html">bmdef.h</a>"</code><br/>
33
<code>#include "<a class="el" href="a00093_source.html">bmfunc.h</a>"</code><br/>
34
<code>#include "<a class="el" href="a00100_source.html">bmtrans.h</a>"</code><br/>
35
<code>#include "<a class="el" href="a00089_source.html">bmalgo_impl.h</a>"</code><br/>
36
<code>#include "<a class="el" href="a00102_source.html">bmutil.h</a>"</code><br/>
37
<code>#include "<a class="el" href="a00101_source.html">bmundef.h</a>"</code><br/>
30
<h1>bmrandom.h File Reference</h1><code>#include "<a class="el" href="a00088_source.html">bm.h</a>"</code><br/>
31
<code>#include "<a class="el" href="a00094_source.html">bmfunc.h</a>"</code><br/>
32
<code>#include "<a class="el" href="a00093_source.html">bmdef.h</a>"</code><br/>
33
<code>#include <stdlib.h></code><br/>
34
<code>#include <algorithm></code><br/>
35
<code>#include "<a class="el" href="a00102_source.html">bmundef.h</a>"</code><br/>
38
36
<div class="dynheader">
39
Include dependency graph for bmserial.h:</div>
37
Include dependency graph for bmrandom.h:</div>
40
38
<div class="dynsection">
41
<div class="center"><img src="a00143.png" border="0" usemap="#bmserial_8h_map" alt=""/></div>
42
<map name="bmserial_8h_map" id="bmserial_8h">
43
<area shape="rect" href="a00087.html" title="bm.h" alt="" coords="497,83,548,112"/><area shape="rect" href="a00092.html" title="bmdef.h" alt="" coords="1109,315,1176,344"/><area shape="rect" href="a00093.html" title="bmfunc.h" alt="" coords="976,160,1051,189"/><area shape="rect" href="a00102.html" title="bmutil.h" alt="" coords="1197,237,1264,267"/><area shape="rect" href="a00104.html" title="encoding.h" alt="" coords="1075,160,1157,189"/><area shape="rect" href="a00101.html" title="bmundef.h" alt="" coords="1181,160,1264,189"/><area shape="rect" href="a00100.html" title="bmtrans.h" alt="" coords="1389,83,1469,112"/><area shape="rect" href="a00089.html" title="bmalgo_impl.h" alt="" coords="1493,83,1597,112"/><area shape="rect" href="a00091.html" title="bmconst.h" alt="" coords="673,315,756,344"/><area shape="rect" href="a00098.html" title="bmsse4.h" alt="" coords="705,160,783,189"/><area shape="rect" href="a00103.html" title="bmvmin.h" alt="" coords="99,160,176,189"/><area shape="rect" href="a00090.html" title="bmalloc.h" alt="" coords="336,160,413,189"/><area shape="rect" href="a00099.html" title="bmsse_util.h" alt="" coords="653,237,749,267"/></map>
39
<div class="center"><img src="a00142.png" border="0" usemap="#bmrandom_8h_map" alt=""/></div>
40
<map name="bmrandom_8h_map" id="bmrandom_8h">
41
<area shape="rect" href="a00088.html" title="bm.h" alt="" coords="829,83,880,112"/><area shape="rect" href="a00093.html" title="bmdef.h" alt="" coords="5,315,72,344"/><area shape="rect" href="a00094.html" title="bmfunc.h" alt="" coords="471,160,545,189"/><area shape="rect" href="a00102.html" title="bmundef.h" alt="" coords="1220,160,1303,189"/><area shape="rect" href="a00092.html" title="bmconst.h" alt="" coords="804,315,887,344"/><area shape="rect" href="a00099.html" title="bmsse4.h" alt="" coords="253,160,331,189"/><area shape="rect" href="a00104.html" title="bmvmin.h" alt="" coords="769,160,847,189"/><area shape="rect" href="a00105.html" title="encoding.h" alt="" coords="569,160,652,189"/><area shape="rect" href="a00091.html" title="bmalloc.h" alt="" coords="1119,160,1196,189"/><area shape="rect" href="a00100.html" title="bmsse_util.h" alt="" coords="188,237,284,267"/><area shape="rect" href="a00103.html" title="bmutil.h" alt="" coords="577,237,644,267"/></map>
45
43
<div class="dynheader">
46
44
This graph shows which files directly or indirectly include this file:</div>
47
45
<div class="dynsection">
48
<div class="center"><img src="a00144.png" border="0" usemap="#bmserial_8hdep_map" alt=""/></div>
49
<map name="bmserial_8hdep_map" id="bmserial_8hdep">
50
<area shape="rect" href="a00109.html" title="sample4.cpp" alt="" coords="5,83,101,112"/></map>
46
<div class="center"><img src="a00143.png" border="0" usemap="#bmrandom_8hdep_map" alt=""/></div>
47
<map name="bmrandom_8hdep_map" id="bmrandom_8hdep">
48
<area shape="rect" href="a00107.html" title="sample10.cpp" alt="" coords="5,83,107,112"/></map>
53
51
<p><a href="a00096_source.html">Go to the source code of this file.</a></p>
54
52
<table border="0" cellpadding="0" cellspacing="0">
55
53
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">bm::serializer< BV ></a></td></tr>
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-vector serialization class. <a href="a00083.html#_details">More...</a><br/></td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">bm::deseriaizer_base< DEC ></a></td></tr>
59
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base deserialization class. <a href="a00058.html#_details">More...</a><br/></td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">bm::deserializer< BV, DEC ></a></td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00059.html" title="Class deserializer.">deserializer</a>. <a href="a00059.html#_details">More...</a><br/></td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">bm::iterator_deserializer< BV, SerialIterator ></a></td></tr>
63
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterator to walk forward the serialized stream. <a href="a00073.html#_details">More...</a><br/></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">bm::serial_stream_iterator< DEC ></a></td></tr>
65
<tr><td class="mdescLeft"> </td><td class="mdescRight">Serialization stream iterator. <a href="a00082.html#_details">More...</a><br/></td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">bm::operation_deserializer< BV ></a></td></tr>
67
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00059.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector. <a href="a00076.html#_details">More...</a><br/></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">bm::random_subset< BV ></a></td></tr>
68
55
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html">bm</a></td></tr>
70
<tr><td colspan="2"><h2>Defines</h2></td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a6a3d8841118b48dc31cf507ac70c763a">SER_NEXT_GRP</a>(enc, nb, B_1ZERO, B_8ZERO, B_16ZERO, B_32ZERO)</td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a045ab59db462c831654a8acefdf65443">BM_SET_ONE_BLOCKS</a>(x)</td></tr>
73
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a> { <br/>
75
<a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca">bm::BM_HM_DEFAULT</a> = 1,
76
<a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27">bm::BM_HM_RESIZE</a> = (1 << 1),
77
<a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47">bm::BM_HM_ID_LIST</a> = (1 << 2),
78
<a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e">bm::BM_HM_NO_BO</a> = (1 << 3),
80
<a class="el" href="a00115.html#ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3">bm::BM_HM_NO_GAPL</a> = (1 << 4)
83
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ga537dfe6318f1f1fe18d86dac312be978">bm::serialization_flags</a> { <a class="el" href="a00126.html#gga537dfe6318f1f1fe18d86dac312be978acdd8c071c079589388c3ca7bd4f367c8">bm::BM_NO_BYTE_ORDER</a> = 1,
84
<a class="el" href="a00126.html#gga537dfe6318f1f1fe18d86dac312be978a5521473081d341bc32ac59538e6a8096">bm::BM_NO_GAP_LENGTH</a> = (1 << 1)
86
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Bit mask flags for serialization algorithm. </p>
87
<a href="a00126.html#ga537dfe6318f1f1fe18d86dac312be978">More...</a><br/></td></tr>
88
<tr><td colspan="2"><h2>Functions</h2></td></tr>
89
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
90
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga5210c3bda57254ef2e8c71e23306cc88">bm::serialize</a> (const BV &bv, unsigned char *buf, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned serialization_flags=0)</td></tr>
91
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. <a href="a00126.html#ga5210c3bda57254ef2e8c71e23306cc88"></a><br/></td></tr>
92
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
93
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga213033b5cc6add74aa4bd1d614b56192">bm::serialize</a> (BV &bv, unsigned char *buf, unsigned serialization_flags=0)</td></tr>
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a>. <a href="a00126.html#ga213033b5cc6add74aa4bd1d614b56192"></a><br/></td></tr>
95
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
96
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gafbe633db8da3d867f098468269fd8d3d">bm::deserialize</a> (BV &bv, const unsigned char *buf, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
97
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitvector deserialization from memory. <a href="a00126.html#gafbe633db8da3d867f098468269fd8d3d"></a><br/></td></tr>
98
<tr><td colspan="2"><h2>Variables</h2></td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aa24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0</td></tr>
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">End of serialization. <a href="#aa24e7c08930cf959d383c6b930fb0508"></a><br/></td></tr>
101
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1</td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">One all-zero block. <a href="#a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br/></td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2</td></tr>
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">One block all-set (1111...). <a href="#a715131318a361bcccf59fc0b1e41d444"></a><br/></td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ac9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3</td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 zero blocks. <a href="#ac9b85b261ab49b37d5e15b84ed2d8b99"></a><br/></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4</td></tr>
108
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 all-set blocks. <a href="#a57ad1090d6f380cf5de5f98c699b5a75"></a><br/></td></tr>
109
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5</td></tr>
110
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 65536 zero blocks. <a href="#aef47eda6538ebf2624c1612d35694c01"></a><br/></td></tr>
111
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6</td></tr>
112
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 65536 all-set blocks. <a href="#a3fad4a939708df59b1201910c7d37e30"></a><br/></td></tr>
113
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ac7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7</td></tr>
114
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 4G zero blocks. <a href="#ac7dfbd94a0534df88849bbce9e6c419a"></a><br/></td></tr>
115
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8</td></tr>
116
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 4G all-set blocks. <a href="#a5b87c58ae617ad1f104b4c6bc3ed6447"></a><br/></td></tr>
117
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ae87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9</td></tr>
118
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks zero. <a href="#ae87b5c61d7ba6e2e592a279db0b21cc0"></a><br/></td></tr>
119
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ad506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10</td></tr>
120
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks one. <a href="#ad506b63262c52870758432a95e71907e"></a><br/></td></tr>
121
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11</td></tr>
122
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bit block. <a href="#aef86ab2eb42c198272eea7cdfe42951b"></a><br/></td></tr>
123
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#afe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12</td></tr>
124
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed bitblock. <a href="#afe4b1011b09271c5f3882b926e250d39"></a><br/></td></tr>
125
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13</td></tr>
126
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed GAP block. <a href="#ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><br/></td></tr>
127
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14</td></tr>
128
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain GAP block. <a href="#a09b8c4b17b7d6f613c237c46d04a9cd6"></a><br/></td></tr>
129
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15</td></tr>
130
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP compressed bitblock. <a href="#a77dc965397e31a1d39c3d8e628792779"></a><br/></td></tr>
131
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16</td></tr>
132
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON. <a href="#a6ec6acb175ce77a229003f088ecd3923"></a><br/></td></tr>
133
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17</td></tr>
134
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interval block. <a href="#a0f2d3289a95dc3bd224a6a73c3d3afce"></a><br/></td></tr>
135
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18</td></tr>
136
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON (GAP block). <a href="#aae33ceefae804cdd94412beee8c52720"></a><br/></td></tr>
137
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ad0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19</td></tr>
138
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with 1 bit ON. <a href="#ad0e6607a9771fa49a658c3078208c2dc"></a><br/></td></tr>
139
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ac47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20</td></tr>
140
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed GAP block. <a href="#ac47dea3917e15264ed3ba0cf4055adbe"></a><br/></td></tr>
141
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21</td></tr>
142
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed delta GAP array. <a href="#a9674ddb1b9ee66948465249688708188"></a><br/></td></tr>
143
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22</td></tr>
144
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with encoded zero intervals. <a href="#a5e21adca3bc6902f33e43e5cfd824f0e"></a><br/></td></tr>
145
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a1caddb62b332a568ba590794800610f6">bm::set_block_arrgap_egamma_inv</a> = 23</td></tr>
146
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed inverted delta GAP array. <a href="#a1caddb62b332a568ba590794800610f6"></a><br/></td></tr>
147
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a746a03f6f5563cc8c75db93bba40095d">bm::set_block_arrgap_inv</a> = 24</td></tr>
148
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits OFF (GAP block). <a href="#a746a03f6f5563cc8c75db93bba40095d"></a><br/></td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html">bm</a></td></tr>
150
<hr/><h2>Define Documentation</h2>
151
<a class="anchor" id="a045ab59db462c831654a8acefdf65443"></a><!-- doxytag: member="bmserial.h::BM_SET_ONE_BLOCKS" ref="a045ab59db462c831654a8acefdf65443" args="(x)" -->
152
<div class="memitem">
153
<div class="memproto">
154
<table class="memname">
156
<td class="memname">#define BM_SET_ONE_BLOCKS</td>
158
<td class="paramtype">x </td>
159
<td class="paramname"></td>
160
<td> ) </td>
166
<b>Value:</b><div class="fragment"><pre class="fragment">{\
167
<span class="keywordtype">unsigned</span> end_block = i + x; \
168
<span class="keywordflow">for</span> (;i < end_block; ++i) \
169
bman.set_block_all_set(i); \
173
<p>Definition at line <a class="el" href="a00096_source.html#l00125">125</a> of file <a class="el" href="a00096_source.html">bmserial.h</a>.</p>
175
<p>Referenced by <a class="el" href="a00096_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>.</p>
179
<a class="anchor" id="a6a3d8841118b48dc31cf507ac70c763a"></a><!-- doxytag: member="bmserial.h::SER_NEXT_GRP" ref="a6a3d8841118b48dc31cf507ac70c763a" args="(enc, nb, B_1ZERO, B_8ZERO, B_16ZERO, B_32ZERO)" -->
180
<div class="memitem">
181
<div class="memproto">
182
<table class="memname">
184
<td class="memname">#define SER_NEXT_GRP</td>
186
<td class="paramtype">enc, </td>
189
<td class="paramkey"></td>
191
<td class="paramtype">nb, </td>
194
<td class="paramkey"></td>
196
<td class="paramtype">B_1ZERO, </td>
199
<td class="paramkey"></td>
201
<td class="paramtype">B_8ZERO, </td>
204
<td class="paramkey"></td>
206
<td class="paramtype">B_16ZERO, </td>
209
<td class="paramkey"></td>
211
<td class="paramtype">B_32ZERO </td>
212
<td class="paramname"></td>
213
<td> ) </td>
219
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (nb == 1) \
220
enc.put_8(B_1ZERO); \
221
<span class="keywordflow">else</span> <span class="keywordflow">if</span> (nb < 256) \
223
enc.put_8(B_8ZERO); \
224
enc.put_8((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)nb); \
226
<span class="keywordflow">else</span> <span class="keywordflow">if</span> (nb < 65536) \
228
enc.put_8(B_16ZERO); \
229
enc.put_16((<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>)nb); \
231
<span class="keywordflow">else</span> \
233
enc.put_8(B_32ZERO); \
237
<p>Definition at line <a class="el" href="a00096_source.html#l00105">105</a> of file <a class="el" href="a00096_source.html">bmserial.h</a>.</p>
239
<p>Referenced by <a class="el" href="a00096_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
244
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:19 2010 for BitMagic by
59
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:47:59 2010 for BitMagic by
245
60
<a href="http://www.doxygen.org/index.html">
246
61
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>