27
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00044.html">bvector</a>
30
<div class="navpath"><a class="el" href="a00116.html">bm</a>::<a class="el" href="a00044.html">bvector</a>
33
33
<div class="contents">
34
34
<h1>bm::bvector< Alloc, MS > Class Template Reference<br/>
36
[<a class="el" href="a00118.html">The Main bvector<> Group</a>]</small>
36
[<a class="el" href="a00119.html">The Main bvector<> Group</a>]</small>
37
37
</h1><!-- doxytag: class="bm::bvector" -->
38
38
<p>bitvector with runtime compression of bits.
39
39
<a href="#_details">More...</a></p>
41
<p><code>#include <<a class="el" href="a00087_source.html">bm.h</a>></code></p>
41
<p><code>#include <<a class="el" href="a00088_source.html">bm.h</a>></code></p>
42
42
<table border="0" cellpadding="0" cellspacing="0">
43
43
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
44
44
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html">counted_enumerator</a></td></tr>
49
49
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces). <a href="a00071.html#_details">More...</a><br/></td></tr>
50
50
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">iterator_base</a></td></tr>
51
51
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for all iterators. <a href="a00072.html#_details">More...</a><br/></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">reference</a></td></tr>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00080.html" title="Class reference implements an object for bit assignment.">reference</a> implements an object for bit assignment. <a href="a00080.html#_details">More...</a><br/></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html">statistics</a></td></tr>
55
<tr><td class="mdescLeft"> </td><td class="mdescRight">Statistical information about bitset's memory allocation details. <a href="a00085.html#_details">More...</a><br/></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">reference</a></td></tr>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00081.html" title="Class reference implements an object for bit assignment.">reference</a> implements an object for bit assignment. <a href="a00081.html#_details">More...</a><br/></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html">statistics</a></td></tr>
55
<tr><td class="mdescLeft"> </td><td class="mdescRight">Statistical information about bitset's memory allocation details. <a href="a00086.html#_details">More...</a><br/></td></tr>
56
56
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
57
57
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0">optmode</a> { <a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0ab9b4d2133014db3d5dbd9c2eda332d19">opt_free_0</a> = 1,
58
58
<a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0a9b54164042434a520ff7e7464e4b43b0">opt_free_01</a> = 2,
62
62
<a href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0">More...</a><br/></td></tr>
63
63
<tr><td class="memItemLeft" align="right" valign="top">typedef Alloc </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0da32cb546602fa6874a5a4804192b6e">allocator_type</a></td></tr>
64
64
<tr><td class="memItemLeft" align="right" valign="top">typedef blocks_manager< Alloc, MS > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1c89beac7542674fdc09cbcf024ab390">blocks_manager_type</a></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a></td></tr>
66
66
<tr><td class="mdescLeft"> </td><td class="mdescRight">Type used to count bits in the bit vector. <a href="#aba038b54cc8d548bb1c058dee0325884"></a><br/></td></tr>
67
67
<tr><td class="memItemLeft" align="right" valign="top">typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#abd935c7ebeb4d3c65caf3d236d24708a">const_reference</a></td></tr>
68
68
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa2813ce4ce80ab8c6532e8b478b6d934">bvector</a> (<a class="el" href="a00118.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat=BM_BIT, const <a class="el" href="a00115.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len=<a class="el" href="a00067.html">bm::gap_len_table</a>< true >::_len, <a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> bv_size=<a class="el" href="a00115.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a>, const Alloc &alloc=Alloc())</td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa2813ce4ce80ab8c6532e8b478b6d934">bvector</a> (<a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat=BM_BIT, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len=<a class="el" href="a00067.html">bm::gap_len_table</a>< true >::_len, <a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> bv_size=<a class="el" href="a00116.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a>, const Alloc &alloc=Alloc())</td></tr>
70
70
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> class. <a href="#aa2813ce4ce80ab8c6532e8b478b6d934"></a><br/></td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3b95b73a26160b2b364e6e1e86167994">bvector</a> (<a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> bv_size, <a class="el" href="a00118.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat=BM_BIT, const <a class="el" href="a00115.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len=<a class="el" href="a00067.html">bm::gap_len_table</a>< true >::_len, const Alloc &alloc=Alloc())</td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3b95b73a26160b2b364e6e1e86167994">bvector</a> (<a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> bv_size, <a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat=BM_BIT, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len=<a class="el" href="a00067.html">bm::gap_len_table</a>< true >::_len, const Alloc &alloc=Alloc())</td></tr>
72
72
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> class. <a href="#a3b95b73a26160b2b364e6e1e86167994"></a><br/></td></tr>
73
73
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a95752bab343fd1b5483043dbbec98a96">bvector</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>)</td></tr>
74
74
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ad6d691215d7945d1eab58f55055f32ad">operator=</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>)</td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a98a1223891cbd4e87245defb4e3f165e">operator[]</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3d71b08005a276991b031151e423760e">operator[]</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00081.html">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a98a1223891cbd4e87245defb4e3f165e">operator[]</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3d71b08005a276991b031151e423760e">operator[]</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
77
77
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1259c399b970e6fa3715d74387e682c6">operator&=</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>)</td></tr>
78
78
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3db27387f92cdfa4d883074d7bd525a6">operator^=</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>)</td></tr>
79
79
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0a708b4c4c0ac810bd5c4d1280200b10">operator|=</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>)</td></tr>
86
86
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0d82c126fe741d082b17a60c8617865f">operator!=</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>) const </td></tr>
87
87
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a281157317851c62d91d5ba6d32d33ec7">operator~</a> () const </td></tr>
88
88
<tr><td class="memItemLeft" align="right" valign="top">Alloc </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a9af5dca8d808990b92bdf20b10b63198">get_allocator</a> () const </td></tr>
89
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1769d9ed3a4ee41b03fc3ca4a0e5a58e">set_bit</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
89
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1769d9ed3a4ee41b03fc3ca4a0e5a58e">set_bit</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
90
90
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bit n. <a href="#a1769d9ed3a4ee41b03fc3ca4a0e5a58e"></a><br/></td></tr>
91
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a432ac93e2bcd428f659810bb0e6cc9e8">set_bit_and</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
91
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a432ac93e2bcd428f659810bb0e6cc9e8">set_bit_and</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
92
92
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bit n using bit AND with the provided value. <a href="#a432ac93e2bcd428f659810bb0e6cc9e8"></a><br/></td></tr>
93
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab769dc46d71c5df276d8403b20ed5eb0">set_bit_conditional</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val, bool condition)</td></tr>
93
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab769dc46d71c5df276d8403b20ed5eb0">set_bit_conditional</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val, bool condition)</td></tr>
94
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bit n only if current value is equal to the condition. <a href="#ab769dc46d71c5df276d8403b20ed5eb0"></a><br/></td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#abc85ec9da74de03ff7e2a6c836656dd8">set</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#abc85ec9da74de03ff7e2a6c836656dd8">set</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
96
96
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bit n if val is true, clears bit n if val is false. <a href="#abc85ec9da74de03ff7e2a6c836656dd8"></a><br/></td></tr>
97
97
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa745480d136c8b0e6bc41afe951577c5">set</a> ()</td></tr>
98
98
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets every bit in this bitset to 1. <a href="#aa745480d136c8b0e6bc41afe951577c5"></a><br/></td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a14bc35b9b022018f10787b07a5b2af04">set_range</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> left, <a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> right, bool value=true)</td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a14bc35b9b022018f10787b07a5b2af04">set_range</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> left, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> right, bool value=true)</td></tr>
100
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets all bits in the specified closed interval [left,right] Interval must be inside the bvector's size. This method DOES NOT resize vector. <a href="#a14bc35b9b022018f10787b07a5b2af04"></a><br/></td></tr>
101
101
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00071.html">insert_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ada0d32bbd1a135722a7790b13d866451">inserter</a> ()</td></tr>
102
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a23106b542344f671ff5aff1887657a5d">clear_bit</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
102
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a23106b542344f671ff5aff1887657a5d">clear_bit</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
103
103
<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears bit n. <a href="#a23106b542344f671ff5aff1887657a5d"></a><br/></td></tr>
104
104
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#afe98c658c4ee54155e61f9bdfa7b9019">clear</a> (bool free_mem=false)</td></tr>
105
105
<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears every bit in the bitvector. <a href="#afe98c658c4ee54155e61f9bdfa7b9019"></a><br/></td></tr>
106
106
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1b0d2eca7aa91d49374cf711407c9a43">reset</a> ()</td></tr>
107
107
<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears every bit in the bitvector. <a href="#a1b0d2eca7aa91d49374cf711407c9a43"></a><br/></td></tr>
108
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a71077c1315555301532e24d4d2b95ea2">count</a> () const </td></tr>
108
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a71077c1315555301532e24d4d2b95ea2">count</a> () const </td></tr>
109
109
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns count of bits which are 1. <a href="#a71077c1315555301532e24d4d2b95ea2"></a><br/></td></tr>
110
110
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab3d054fafa5d361b7aafa3b36cadecc2">capacity</a> () const </td></tr>
111
111
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns bvector's capacity (number of bits it can store). <a href="#ab3d054fafa5d361b7aafa3b36cadecc2"></a><br/></td></tr>
115
115
<tr><td class="mdescLeft"> </td><td class="mdescRight">Change size of the <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a>. <a href="#a7be4f9e0741f43869f4dcd9607736c0e"></a><br/></td></tr>
116
116
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a435752c1674607b625d5e9a54febaa5b">count_blocks</a> (unsigned *arr) const </td></tr>
117
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount values for all <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> blocks. <a href="#a435752c1674607b625d5e9a54febaa5b"></a><br/></td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#adbe1a2423ce166b88a0b57e435af2733">count_range</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> left, <a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> right, unsigned *block_count_arr=0) const </td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#adbe1a2423ce166b88a0b57e435af2733">count_range</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> left, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> right, unsigned *block_count_arr=0) const </td></tr>
119
119
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns count of 1 bits in the given diapason. <a href="#adbe1a2423ce166b88a0b57e435af2733"></a><br/></td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a91adb243bd37e4e9798ba3e4f87e6e1e">recalc_count</a> ()</td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a91adb243bd37e4e9798ba3e4f87e6e1e">recalc_count</a> ()</td></tr>
121
121
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ad18b82c801a21eeaf5bb519921bd23d8">forget_count</a> ()</td></tr>
122
122
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a49af36cc1ea632cd3a2217b53b69dafc">invert</a> ()</td></tr>
123
123
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts all bits. <a href="#a49af36cc1ea632cd3a2217b53b69dafc"></a><br/></td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a11458ca2e3570838da7b94a1e4563d97">get_bit</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a11458ca2e3570838da7b94a1e4563d97">get_bit</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
125
125
<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if bit n is set and false is bit n is 0. <a href="#a11458ca2e3570838da7b94a1e4563d97"></a><br/></td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a59ffa64959f92cc259eea2f6d7b597df">test</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a59ffa64959f92cc259eea2f6d7b597df">test</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
127
127
<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if bit n is set and false is bit n is 0. <a href="#a59ffa64959f92cc259eea2f6d7b597df"></a><br/></td></tr>
128
128
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3d08364f13c365bd831ab4f0a909035e">any</a> () const </td></tr>
129
129
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if any bits in this bitset are set, and otherwise returns false. <a href="#a3d08364f13c365bd831ab4f0a909035e"></a><br/></td></tr>
130
130
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1cb9799d8f1ae36f04527a14e9ff4784">none</a> () const </td></tr>
131
131
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if no bits are set, otherwise returns false. <a href="#a1cb9799d8f1ae36f04527a14e9ff4784"></a><br/></td></tr>
132
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#acf0fd4c4e19630fd02210f585c44491d">flip</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
132
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#acf0fd4c4e19630fd02210f585c44491d">flip</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n)</td></tr>
133
133
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flips bit n. <a href="#acf0fd4c4e19630fd02210f585c44491d"></a><br/></td></tr>
134
134
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a73faf6a420061373a6c447ed94e18df2">flip</a> ()</td></tr>
135
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flips all bits. <a href="#a73faf6a420061373a6c447ed94e18df2"></a><br/></td></tr>
136
136
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ad7a4d5fb8a2418f45a366efd01cd3bcd">swap</a> (<a class="el" href="a00044.html">bvector</a>< Alloc, MS > &bv)</td></tr>
137
137
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exchanges content of bv and this bitvector. <a href="#ad7a4d5fb8a2418f45a366efd01cd3bcd"></a><br/></td></tr>
138
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#af3129b35cabf0554d85711c085a8616d">get_first</a> () const </td></tr>
138
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#af3129b35cabf0554d85711c085a8616d">get_first</a> () const </td></tr>
139
139
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets number of first bit which is ON. <a href="#af3129b35cabf0554d85711c085a8616d"></a><br/></td></tr>
140
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#adef9c095a682a9857068c280e37c8240">get_next</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> prev) const </td></tr>
140
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#adef9c095a682a9857068c280e37c8240">get_next</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> prev) const </td></tr>
141
141
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds the number of the next bit ON. <a href="#adef9c095a682a9857068c280e37c8240"></a><br/></td></tr>
142
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0919f2a0499568605b380e5d5373948d">extract_next</a> (<a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> prev)</td></tr>
142
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0919f2a0499568605b380e5d5373948d">extract_next</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> prev)</td></tr>
143
143
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds the number of the next bit ON and sets it to 0. <a href="#a0919f2a0499568605b380e5d5373948d"></a><br/></td></tr>
144
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1eaaac76a97b9eb1d3c11f21cf9385ac">calc_stat</a> (struct <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00085.html">statistics</a> *st) const </td></tr>
145
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates bitvector <a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a>. <a href="#a1eaaac76a97b9eb1d3c11f21cf9385ac"></a><br/></td></tr>
144
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a1eaaac76a97b9eb1d3c11f21cf9385ac">calc_stat</a> (struct <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00086.html">statistics</a> *st) const </td></tr>
145
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates bitvector <a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a>. <a href="#a1eaaac76a97b9eb1d3c11f21cf9385ac"></a><br/></td></tr>
146
146
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a0eacd87603f41a9aea2126810183f83a">bit_or</a> (const <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > &vect)</td></tr>
147
147
<tr><td class="mdescLeft"> </td><td class="mdescRight">Logical OR operation. <a href="#a0eacd87603f41a9aea2126810183f83a"></a><br/></td></tr>
148
148
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a051a39027c3b12751f172c20f2d03a0f">bit_and</a> (const <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > &vect)</td></tr>
151
151
<tr><td class="mdescLeft"> </td><td class="mdescRight">Logical XOR operation. <a href="#a997a62ec2effcd60246fb9b72f30ccfa"></a><br/></td></tr>
152
152
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a6a8e699f9c0571f904d7cbaa2e3ed1f1">bit_sub</a> (const <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > &vect)</td></tr>
153
153
<tr><td class="mdescLeft"> </td><td class="mdescRight">Logical SUB operation. <a href="#a6a8e699f9c0571f904d7cbaa2e3ed1f1"></a><br/></td></tr>
154
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab1094180d03cbc961d62f0f453097452">set_new_blocks_strat</a> (<a class="el" href="a00118.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat)</td></tr>
154
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab1094180d03cbc961d62f0f453097452">set_new_blocks_strat</a> (<a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> strat)</td></tr>
155
155
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets new blocks allocation strategy. <a href="#ab1094180d03cbc961d62f0f453097452"></a><br/></td></tr>
156
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00118.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ad971c541fa259278e9dcf541b2d128c9">get_new_blocks_strat</a> () const </td></tr>
156
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ad971c541fa259278e9dcf541b2d128c9">get_new_blocks_strat</a> () const </td></tr>
157
157
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns blocks allocation strategy. <a href="#ad971c541fa259278e9dcf541b2d128c9"></a><br/></td></tr>
158
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#abd522c13e26c2b8f84636fe8b6648dcb">optimize</a> (<a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0, <a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0">optmode</a> opt_mode=opt_compress, <a class="el" href="a00085.html">statistics</a> *stat=0)</td></tr>
158
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#abd522c13e26c2b8f84636fe8b6648dcb">optimize</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0, <a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0">optmode</a> opt_mode=opt_compress, <a class="el" href="a00086.html">statistics</a> *stat=0)</td></tr>
159
159
<tr><td class="mdescLeft"> </td><td class="mdescRight">Optimize memory bitvector's memory allocation. <a href="#abd522c13e26c2b8f84636fe8b6648dcb"></a><br/></td></tr>
160
160
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a3942e3f6ea9fa54fcdb78a35a85008e5">optimize_gap_size</a> ()</td></tr>
161
161
<tr><td class="mdescLeft"> </td><td class="mdescRight">Optimize sizes of GAP blocks. <a href="#a3942e3f6ea9fa54fcdb78a35a85008e5"></a><br/></td></tr>
162
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a40d82dec62efe90b0810ccd06b62163e">set_gap_levels</a> (const <a class="el" href="a00115.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len)</td></tr>
162
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a40d82dec62efe90b0810ccd06b62163e">set_gap_levels</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *glevel_len)</td></tr>
163
163
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets new GAP lengths table. All GAP blocks will be reallocated to match the new scheme. <a href="#a40d82dec62efe90b0810ccd06b62163e"></a><br/></td></tr>
164
164
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa2294dbf9374fd906f74a796d147c255">compare</a> (const <a class="el" href="a00044.html">bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>) const </td></tr>
165
165
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison with a bitvector. <a href="#aa2294dbf9374fd906f74a796d147c255"></a><br/></td></tr>
166
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab7d74cc7b7d6c6e77dd3634ecbb35e4f">allocate_tempblock</a> () const </td></tr>
166
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab7d74cc7b7d6c6e77dd3634ecbb35e4f">allocate_tempblock</a> () const </td></tr>
167
167
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocates temporary block of memory. <a href="#ab7d74cc7b7d6c6e77dd3634ecbb35e4f"></a><br/></td></tr>
168
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a311bbf4841d2a25a2e7f59f6861f1592">free_tempblock</a> (<a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block) const </td></tr>
168
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a311bbf4841d2a25a2e7f59f6861f1592">free_tempblock</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block) const </td></tr>
169
169
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees temporary block of memory. <a href="#a311bbf4841d2a25a2e7f59f6861f1592"></a><br/></td></tr>
170
170
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00063.html">enumerator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aad48c661f843e32c9893438a6f27a8f0">first</a> () const </td></tr>
171
171
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns <a class="el" href="a00063.html" title="Constant input iterator designed to enumerate "ON" bits.">enumerator</a> pointing on the first non-zero bit. <a href="#aad48c661f843e32c9893438a6f27a8f0"></a><br/></td></tr>
172
172
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00063.html">enumerator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a2c6e522f858fdc466765d2c0f269f590">end</a> () const </td></tr>
173
173
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns <a class="el" href="a00063.html" title="Constant input iterator designed to enumerate "ON" bits.">enumerator</a> pointing on the next bit after the last. <a href="#a2c6e522f858fdc466765d2c0f269f590"></a><br/></td></tr>
174
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a68bb64dca7f60aa1828ddd4be63418dc">get_block</a> (unsigned nb) const </td></tr>
175
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#af2c137de958a038f96e1149c51ea8a8f">combine_operation</a> (const <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>, <a class="el" href="a00115.html#a42405343976ec931388381cea4092bf1">bm::operation</a> opcode)</td></tr>
176
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a894bfd0e43484e819694c6560cd4207c">combine_operation_with_block</a> (unsigned nb, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00115.html#a42405343976ec931388381cea4092bf1">bm::operation</a> opcode)</td></tr>
174
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a68bb64dca7f60aa1828ddd4be63418dc">get_block</a> (unsigned nb) const </td></tr>
175
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#af2c137de958a038f96e1149c51ea8a8f">combine_operation</a> (const <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS > &<a class="el" href="a00044.html">bvect</a>, <a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">bm::operation</a> opcode)</td></tr>
176
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a894bfd0e43484e819694c6560cd4207c">combine_operation_with_block</a> (unsigned nb, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">bm::operation</a> opcode)</td></tr>
177
177
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00044.html#a1c89beac7542674fdc09cbcf024ab390">blocks_manager_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a9599df0386dfc7e6bad95fde7e4b3ee8">get_blocks_manager</a> () const </td></tr>
178
178
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00044.html#a1c89beac7542674fdc09cbcf024ab390">blocks_manager_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa531c7278812888bca2d1617bb19e0b0">get_blocks_manager</a> ()</td></tr>
179
179
<tr><td colspan="2"><h2>Friends</h2></td></tr>
306
306
<td class="memname"><a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00044.html">bvector</a> </td>
308
<td class="paramtype"><a class="el" href="a00118.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> </td>
308
<td class="paramtype"><a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> </td>
309
309
<td class="paramname"> <em>strat</em> = <code>BM_BIT</code>, </td>
312
312
<td class="paramkey"></td>
314
<td class="paramtype">const <a class="el" href="a00115.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td>
314
<td class="paramtype">const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td>
315
315
<td class="paramname"> <em>glevel_len</em> = <code><a class="el" href="a00067.html">bm::gap_len_table</a><true>::_len</code>, </td>
318
318
<td class="paramkey"></td>
320
320
<td class="paramtype"><a class="el" href="a00044.html#aba038b54cc8d548bb1c058dee0325884">size_type</a> </td>
321
<td class="paramname"> <em>bv_size</em> = <code><a class="el" href="a00115.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a></code>, </td>
321
<td class="paramname"> <em>bv_size</em> = <code><a class="el" href="a00116.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a></code>, </td>
324
324
<td class="paramkey"></td>
541
<p>Definition at line <a class="el" href="a00087_source.html#l01285">1285</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
543
<p>References <a class="el" href="a00093_source.html#l00277">bm::BM_OR</a>, <a class="el" href="a00087_source.html#l00089">BMCOUNT_VALID</a>, and <a class="el" href="a00087_source.html#l02518">bm::bvector< Alloc, MS >::combine_operation()</a>.</p>
545
<p>Referenced by <a class="el" href="a00087_source.html#l00871">bm::bvector< Alloc, MS >::operator=()</a>, <a class="el" href="a00087_source.html#l01579">bm::operator|()</a>, and <a class="el" href="a00087_source.html#l00902">bm::bvector< Alloc, MS >::operator|=()</a>.</p>
541
<p>Definition at line <a class="el" href="a00088_source.html#l01285">1285</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
543
<p>References <a class="el" href="a00094_source.html#l00277">bm::BM_OR</a>, <a class="el" href="a00088_source.html#l00089">BMCOUNT_VALID</a>, and <a class="el" href="a00088_source.html#l02518">bm::bvector< Alloc, MS >::combine_operation()</a>.</p>
545
<p>Referenced by <a class="el" href="a00088_source.html#l00871">bm::bvector< Alloc, MS >::operator=()</a>, <a class="el" href="a00088_source.html#l01579">bm::operator|()</a>, and <a class="el" href="a00088_source.html#l00902">bm::bvector< Alloc, MS >::operator|=()</a>.</p>
633
633
<div class="memdoc">
635
<p>Calculates bitvector <a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a>. </p>
635
<p>Calculates bitvector <a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a>. </p>
636
636
<dl><dt><b>Parameters:</b></dt><dd>
637
637
<table border="0" cellspacing="2" cellpadding="0">
638
<tr><td valign="top"></td><td valign="top"><em>st</em> </td><td>- pointer on <a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a> structure to be filled in.</td></tr>
638
<tr><td valign="top"></td><td valign="top"><em>st</em> </td><td>- pointer on <a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a> structure to be filled in.</td></tr>
642
<p>Function fills <a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a> structure containing information about how this vector uses memory and estimation of max. amount of memory <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> needs to serialize itself.</p>
643
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a> </dd></dl>
642
<p>Function fills <a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a> structure containing information about how this vector uses memory and estimation of max. amount of memory <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> needs to serialize itself.</p>
643
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a> </dd></dl>
644
644
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00007.html#a12">sample7.cpp</a>.</dd>
646
<p>Definition at line <a class="el" href="a00087_source.html#l02051">2051</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
648
<p>References <a class="el" href="a00093_source.html#l00051">bm::bv_statistics::bit_blocks</a>, <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00093_source.html#l00053">bm::bv_statistics::gap_blocks</a>, <a class="el" href="a00093_source.html#l02171">bm::gap_capacity()</a>, <a class="el" href="a00093_source.html#l02157">bm::gap_length()</a>, <a class="el" href="a00093_source.html#l00059">bm::bv_statistics::gap_length</a>, <a class="el" href="a00091_source.html#l00074">bm::gap_levels</a>, <a class="el" href="a00093_source.html#l00061">bm::bv_statistics::gap_levels</a>, <a class="el" href="a00092_source.html#l00061">IS_VALID_ADDR</a>, <a class="el" href="a00093_source.html#l00055">bm::bv_statistics::max_serialize_mem</a>, <a class="el" href="a00093_source.html#l00057">bm::bv_statistics::memory_used</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
650
<p>Referenced by <a class="el" href="a00112_source.html#l00066">CreateSets()</a>, <a class="el" href="a00112_source.html#l00087">FillSets()</a>, <a class="el" href="a00087_source.html#l01884">bm::bvector< Alloc, MS >::optimize_gap_size()</a>, <a class="el" href="a00108_source.html#l00062">print_statistics()</a>, and <a class="el" href="a00109_source.html#l00077">serialize_bvector()</a>.</p>
646
<p>Definition at line <a class="el" href="a00088_source.html#l02051">2051</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
648
<p>References <a class="el" href="a00094_source.html#l00051">bm::bv_statistics::bit_blocks</a>, <a class="el" href="a00093_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l00053">bm::bv_statistics::gap_blocks</a>, <a class="el" href="a00094_source.html#l02347">bm::gap_capacity()</a>, <a class="el" href="a00094_source.html#l02333">bm::gap_length()</a>, <a class="el" href="a00094_source.html#l00059">bm::bv_statistics::gap_length</a>, <a class="el" href="a00092_source.html#l00074">bm::gap_levels</a>, <a class="el" href="a00094_source.html#l00061">bm::bv_statistics::gap_levels</a>, <a class="el" href="a00093_source.html#l00061">IS_VALID_ADDR</a>, <a class="el" href="a00094_source.html#l00055">bm::bv_statistics::max_serialize_mem</a>, <a class="el" href="a00094_source.html#l00057">bm::bv_statistics::memory_used</a>, and <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>.</p>
650
<p>Referenced by <a class="el" href="a00113_source.html#l00066">CreateSets()</a>, <a class="el" href="a00113_source.html#l00087">FillSets()</a>, <a class="el" href="a00088_source.html#l01884">bm::bvector< Alloc, MS >::optimize_gap_size()</a>, <a class="el" href="a00109_source.html#l00062">print_statistics()</a>, and <a class="el" href="a00110_source.html#l00077">serialize_bvector()</a>.</p>
766
766
<div class="memdoc">
768
<p>Definition at line <a class="el" href="a00087_source.html#l02518">2518</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
770
<p>References <a class="el" href="a00093_source.html#l00276">bm::BM_AND</a>, <a class="el" href="a00092_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>, and <a class="el" href="a00087_source.html#l01627">bm::bvector< Alloc, MS >::set_range()</a>.</p>
772
<p>Referenced by <a class="el" href="a00087_source.html#l01296">bm::bvector< Alloc, MS >::bit_and()</a>, <a class="el" href="a00087_source.html#l01285">bm::bvector< Alloc, MS >::bit_or()</a>, <a class="el" href="a00087_source.html#l01318">bm::bvector< Alloc, MS >::bit_sub()</a>, and <a class="el" href="a00087_source.html#l01307">bm::bvector< Alloc, MS >::bit_xor()</a>.</p>
768
<p>Definition at line <a class="el" href="a00088_source.html#l02518">2518</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
770
<p>References <a class="el" href="a00094_source.html#l00276">bm::BM_AND</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00093_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>, and <a class="el" href="a00088_source.html#l01627">bm::bvector< Alloc, MS >::set_range()</a>.</p>
772
<p>Referenced by <a class="el" href="a00088_source.html#l01296">bm::bvector< Alloc, MS >::bit_and()</a>, <a class="el" href="a00088_source.html#l01285">bm::bvector< Alloc, MS >::bit_or()</a>, <a class="el" href="a00088_source.html#l01318">bm::bvector< Alloc, MS >::bit_sub()</a>, and <a class="el" href="a00088_source.html#l01307">bm::bvector< Alloc, MS >::bit_xor()</a>.</p>
839
839
<p>Lexicographical comparison with a bitvector. </p>
840
840
<p>Function compares current bitvector with the provided argument bit by bit and returns -1 if our bitvector less than the argument, 1 - greater, 0 - equal. </p>
842
<p>Definition at line <a class="el" href="a00087_source.html#l01921">1921</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
844
<p>References <a class="el" href="a00093_source.html#l02905">bm::bit_is_all_zero()</a>, <a class="el" href="a00093_source.html#l02268">bm::bitcmp()</a>, <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00093_source.html#l01938">bm::gap_convert_to_bitset()</a>, <a class="el" href="a00093_source.html#l02131">bm::gap_is_all_zero()</a>, <a class="el" href="a00091_source.html#l00071">bm::gap_max_bits</a>, <a class="el" href="a00093_source.html#l00841">bm::gapcmp()</a>, <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>, and <a class="el" href="a00091_source.html#l00104">bm::set_block_size_op</a>.</p>
846
<p>Referenced by <a class="el" href="a00087_source.html#l00937">bm::bvector< Alloc, MS >::operator!=()</a>, <a class="el" href="a00087_source.html#l00912">bm::bvector< Alloc, MS >::operator<()</a>, <a class="el" href="a00087_source.html#l00917">bm::bvector< Alloc, MS >::operator<=()</a>, <a class="el" href="a00087_source.html#l00932">bm::bvector< Alloc, MS >::operator==()</a>, <a class="el" href="a00087_source.html#l00922">bm::bvector< Alloc, MS >::operator>()</a>, and <a class="el" href="a00087_source.html#l00927">bm::bvector< Alloc, MS >::operator>=()</a>.</p>
842
<p>Definition at line <a class="el" href="a00088_source.html#l01921">1921</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
844
<p>References <a class="el" href="a00094_source.html#l03081">bm::bit_is_all_zero()</a>, <a class="el" href="a00094_source.html#l02444">bm::bitcmp()</a>, <a class="el" href="a00093_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l02114">bm::gap_convert_to_bitset()</a>, <a class="el" href="a00094_source.html#l02307">bm::gap_is_all_zero()</a>, <a class="el" href="a00092_source.html#l00071">bm::gap_max_bits</a>, <a class="el" href="a00094_source.html#l00841">bm::gapcmp()</a>, <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>, and <a class="el" href="a00092_source.html#l00104">bm::set_block_size_op</a>.</p>
846
<p>Referenced by <a class="el" href="a00088_source.html#l00937">bm::bvector< Alloc, MS >::operator!=()</a>, <a class="el" href="a00088_source.html#l00912">bm::bvector< Alloc, MS >::operator<()</a>, <a class="el" href="a00088_source.html#l00917">bm::bvector< Alloc, MS >::operator<=()</a>, <a class="el" href="a00088_source.html#l00932">bm::bvector< Alloc, MS >::operator==()</a>, <a class="el" href="a00088_source.html#l00922">bm::bvector< Alloc, MS >::operator>()</a>, and <a class="el" href="a00088_source.html#l00927">bm::bvector< Alloc, MS >::operator>=()</a>.</p>
868
868
<dl class="return"><dt><b>Returns:</b></dt><dd>Total number of bits ON. </dd></dl>
869
869
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00007.html#a23">sample7.cpp</a>.</dd>
871
<p>Definition at line <a class="el" href="a00087_source.html#l01650">1650</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
873
<p>References <a class="el" href="a00087_source.html#l00090">BMCOUNT_SET</a>, <a class="el" href="a00093_source.html#l00527">bm::for_each_nzblock()</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
875
<p>Referenced by <a class="el" href="a00087_source.html#l01690">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00105_source.html#l00044">main()</a>, <a class="el" href="a00112_source.html#l00153">OrSets()</a>, <a class="el" href="a00108_source.html#l00062">print_statistics()</a>, <a class="el" href="a00087_source.html#l01131">bm::bvector< Alloc, MS >::recalc_count()</a>, and <a class="el" href="a00109_source.html#l00077">serialize_bvector()</a>.</p>
871
<p>Definition at line <a class="el" href="a00088_source.html#l01650">1650</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
873
<p>References <a class="el" href="a00088_source.html#l00090">BMCOUNT_SET</a>, <a class="el" href="a00094_source.html#l00527">bm::for_each_nzblock()</a>, and <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>.</p>
875
<p>Referenced by <a class="el" href="a00088_source.html#l01690">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00106_source.html#l00044">main()</a>, <a class="el" href="a00113_source.html#l00153">OrSets()</a>, <a class="el" href="a00109_source.html#l00062">print_statistics()</a>, <a class="el" href="a00088_source.html#l01131">bm::bvector< Alloc, MS >::recalc_count()</a>, and <a class="el" href="a00110_source.html#l00077">serialize_bvector()</a>.</p>
916
916
template<typename Alloc , typename MS > </div>
917
917
<table class="memname">
919
<td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS >::count_range </td>
919
<td class="memname"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> <a class="el" href="a00044.html">bm::bvector</a>< Alloc, MS >::count_range </td>
921
<td class="paramtype"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
921
<td class="paramtype"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
922
922
<td class="paramname"> <em>left</em>, </td>
925
925
<td class="paramkey"></td>
927
<td class="paramtype"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
927
<td class="paramtype"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
928
928
<td class="paramname"> <em>right</em>, </td>
954
954
<dl class="return"><dt><b>Returns:</b></dt><dd>Total number of bits ON. </dd></dl>
956
<p>Definition at line <a class="el" href="a00087_source.html#l01690">1690</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
956
<p>Definition at line <a class="el" href="a00088_source.html#l01690">1690</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
958
<p>References <a class="el" href="a00093_source.html#l02729">bm::bit_block_calc_count_range()</a>, <a class="el" href="a00091_source.html#l00085">bm::bits_in_block</a>, <a class="el" href="a00092_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00087_source.html#l01650">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00093_source.html#l00689">bm::gap_bit_count_range()</a>, <a class="el" href="a00091_source.html#l00054">bm::set_block_mask</a>, and <a class="el" href="a00091_source.html#l00053">bm::set_block_shift</a>.</p>
958
<p>References <a class="el" href="a00094_source.html#l02905">bm::bit_block_calc_count_range()</a>, <a class="el" href="a00092_source.html#l00085">bm::bits_in_block</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00088_source.html#l01650">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00094_source.html#l00689">bm::gap_bit_count_range()</a>, <a class="el" href="a00092_source.html#l00054">bm::set_block_mask</a>, and <a class="el" href="a00092_source.html#l00053">bm::set_block_shift</a>.</p>
1198
1198
<dl class="return"><dt><b>Returns:</b></dt><dd>Bit value (1 or 0) </dd></dl>
1200
<p>Definition at line <a class="el" href="a00087_source.html#l01808">1808</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
1202
<p>References <a class="el" href="a00092_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00093_source.html#l00489">bm::gap_test()</a>, <a class="el" href="a00091_source.html#l00054">bm::set_block_mask</a>, <a class="el" href="a00091_source.html#l00053">bm::set_block_shift</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>
1204
<p>Referenced by <a class="el" href="a00087_source.html#l01204">bm::bvector< Alloc, MS >::flip()</a>, <a class="el" href="a00087_source.html#l00886">bm::bvector< Alloc, MS >::operator[]()</a>, and <a class="el" href="a00087_source.html#l01167">bm::bvector< Alloc, MS >::test()</a>.</p>
1200
<p>Definition at line <a class="el" href="a00088_source.html#l01808">1808</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
1202
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l00489">bm::gap_test()</a>, <a class="el" href="a00092_source.html#l00054">bm::set_block_mask</a>, <a class="el" href="a00092_source.html#l00053">bm::set_block_shift</a>, <a class="el" href="a00092_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00092_source.html#l00062">bm::set_word_shift</a>.</p>
1204
<p>Referenced by <a class="el" href="a00088_source.html#l01204">bm::bvector< Alloc, MS >::flip()</a>, <a class="el" href="a00088_source.html#l00886">bm::bvector< Alloc, MS >::operator[]()</a>, and <a class="el" href="a00088_source.html#l01167">bm::bvector< Alloc, MS >::test()</a>.</p>
1403
1403
<p>Inverts all bits. </p>
1405
<p>Definition at line <a class="el" href="a00087_source.html#l01784">1784</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
1407
<p>References <a class="el" href="a00092_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00087_source.html#l00089">BMCOUNT_VALID</a>, <a class="el" href="a00093_source.html#l00592">bm::for_each_block()</a>, <a class="el" href="a00091_source.html#l00048">bm::id_max</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
1409
<p>Referenced by <a class="el" href="a00087_source.html#l01214">bm::bvector< Alloc, MS >::flip()</a>.</p>
1405
<p>Definition at line <a class="el" href="a00088_source.html#l01784">1784</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
1407
<p>References <a class="el" href="a00093_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00088_source.html#l00089">BMCOUNT_VALID</a>, <a class="el" href="a00094_source.html#l00592">bm::for_each_block()</a>, <a class="el" href="a00092_source.html#l00048">bm::id_max</a>, and <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>.</p>
1409
<p>Referenced by <a class="el" href="a00088_source.html#l01214">bm::bvector< Alloc, MS >::flip()</a>.</p>
1804
1804
<p>Optimize memory bitvector's memory allocation. </p>
1805
1805
<p>Function analyze all blocks in the bitvector, compresses blocks with a regular structure, frees some memory. This function is recommended after a bulk modification of the bitvector using set_bit, clear_bit or logical operations.</p>
1806
<p>Optionally function can calculate vector post optimization <a class="el" href="a00085.html" title="Statistical information about bitset's memory allocation details.">statistics</a></p>
1806
<p>Optionally function can calculate vector post optimization <a class="el" href="a00086.html" title="Statistical information about bitset's memory allocation details.">statistics</a></p>
1807
1807
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00044.html#a05f1e977cb5e6208838afc7e7b69e5f0" title="Optimization mode Every next level means additional checks (better compression vs...">optmode</a>, <a class="el" href="a00044.html#a3942e3f6ea9fa54fcdb78a35a85008e5" title="Optimize sizes of GAP blocks.">optimize_gap_size</a> </dd></dl>
1809
<p>Definition at line <a class="el" href="a00087_source.html#l01842">1842</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
1811
<p>References <a class="el" href="a00093_source.html#l00051">bm::bv_statistics::bit_blocks</a>, <a class="el" href="a00093_source.html#l00527">bm::for_each_nzblock()</a>, <a class="el" href="a00093_source.html#l00053">bm::bv_statistics::gap_blocks</a>, <a class="el" href="a00091_source.html#l00074">bm::gap_levels</a>, <a class="el" href="a00093_source.html#l00061">bm::bv_statistics::gap_levels</a>, <a class="el" href="a00093_source.html#l00055">bm::bv_statistics::max_serialize_mem</a>, <a class="el" href="a00093_source.html#l00057">bm::bv_statistics::memory_used</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
1813
<p>Referenced by <a class="el" href="a00108_source.html#l00075">main()</a>, and <a class="el" href="a00109_source.html#l00077">serialize_bvector()</a>.</p>
1809
<p>Definition at line <a class="el" href="a00088_source.html#l01842">1842</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
1811
<p>References <a class="el" href="a00094_source.html#l00051">bm::bv_statistics::bit_blocks</a>, <a class="el" href="a00094_source.html#l00527">bm::for_each_nzblock()</a>, <a class="el" href="a00094_source.html#l00053">bm::bv_statistics::gap_blocks</a>, <a class="el" href="a00092_source.html#l00074">bm::gap_levels</a>, <a class="el" href="a00094_source.html#l00061">bm::bv_statistics::gap_levels</a>, <a class="el" href="a00094_source.html#l00055">bm::bv_statistics::max_serialize_mem</a>, <a class="el" href="a00094_source.html#l00057">bm::bv_statistics::memory_used</a>, and <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>.</p>
1813
<p>Referenced by <a class="el" href="a00109_source.html#l00075">main()</a>, and <a class="el" href="a00110_source.html#l00077">serialize_bvector()</a>.</p>
2245
2245
<dl class="return"><dt><b>Returns:</b></dt><dd>*this </dd></dl>
2247
<p>Definition at line <a class="el" href="a00087_source.html#l01627">1627</a> of file <a class="el" href="a00087_source.html">bm.h</a>.</p>
2249
<p>References <a class="el" href="a00092_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00139">BM_SET_MMX_GUARD</a>, and <a class="el" href="a00087_source.html#l00089">BMCOUNT_VALID</a>.</p>
2251
<p>Referenced by <a class="el" href="a00087_source.html#l02518">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00087_source.html#l01672">bm::bvector< Alloc, MS >::resize()</a>, and <a class="el" href="a00087_source.html#l01010">bm::bvector< Alloc, MS >::set()</a>.</p>
2247
<p>Definition at line <a class="el" href="a00088_source.html#l01627">1627</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
2249
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00139">BM_SET_MMX_GUARD</a>, and <a class="el" href="a00088_source.html#l00089">BMCOUNT_VALID</a>.</p>
2251
<p>Referenced by <a class="el" href="a00088_source.html#l02518">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00088_source.html#l01672">bm::bvector< Alloc, MS >::resize()</a>, and <a class="el" href="a00088_source.html#l01010">bm::bvector< Alloc, MS >::set()</a>.</p>