~ubuntu-branches/ubuntu/jaunty/bmagic/jaunty

« back to all changes in this revision

Viewing changes to html/a00048.html

  • Committer: Bazaar Package Importer
  • Author(s): Andres Salomon
  • Date: 2008-01-05 23:58:56 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080105235856-2kmxhxkz14qjy9ia
Tags: 3.5.0-1
* New upstream release.
* Add tcpp.dpatch.  This stops tests/stress/t.cpp from including
  ncbi_pch.hpp.  As far as I can tell, NCBI is not used at all, I have
  no idea where that came from..
* Silence some lintian warnings; binary-arch-rules-but-pkg-is-arch-indep
  and ancient-standards-version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
 
<title>BitMagic: bm::bvector&lt; Alloc, MS &gt; Class Template Reference</title>
4
 
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
 
</head><body>
6
 
<!-- Generated by Doxygen 1.4.1 -->
7
 
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="examples.html">Examples</a></div>
8
 
<div class="nav">
9
 
<a class="el" href="a00092.html">bm</a>::<a class="el" href="a00048.html">bvector</a></div>
10
 
<h1>bm::bvector&lt; Alloc, MS &gt; Class Template Reference<br>
11
 
<small>
12
 
[<a class="el" href="a00095.html">The Main bvector&lt;&gt; Group</a>]</small>
13
 
</h1>bitvector with runtime compression of bits.  
14
 
<a href="#_details">More...</a>
15
 
<p>
16
 
<code>#include &lt;<a class="el" href="a00102.html">bm.h</a>&gt;</code>
17
 
<p>
18
 
<table border="0" cellpadding="0" cellspacing="0">
19
 
<tr><td></td></tr>
20
 
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
21
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Alloc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#w0">allocator_type</a></td></tr>
22
 
 
23
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef blocks_manager&lt; Alloc,<br>
24
 
 MS &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#w1">blocks_manager_type</a></td></tr>
25
 
 
26
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#w2">size_type</a></td></tr>
27
 
 
28
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type used to count bits in the bit vector.  <a href="#w2"></a><br></td></tr>
29
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#w3">const_reference</a></td></tr>
30
 
 
31
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#w7">optmode</a> { <a class="el" href="a00048.html#w7w4">opt_free_0</a> =  1, 
32
 
<a class="el" href="a00048.html#w7w5">opt_free_01</a> =  2, 
33
 
<a class="el" href="a00048.html#w7w6">opt_compress</a> =  3
34
 
 }</td></tr>
35
 
 
36
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optimization mode Every next level means additional checks (better compression vs time).  <a href="a00048.html#w7">More...</a><br></td></tr>
37
 
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
38
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a0">bvector</a> (<a class="el" href="a00095.html#ga0">strategy</a> strat=BM_BIT, const <a class="el" href="a00092.html#a19">gap_word_t</a> *glevel_len=<a class="el" href="a00068.html">bm::gap_len_table</a>&lt; true &gt;::_len, <a class="el" href="a00048.html#w2">size_type</a> bv_size=<a class="el" href="a00092.html#a12">bm::id_max</a>, const Alloc &amp;alloc=Alloc())</td></tr>
39
 
 
40
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs bvector class.  <a href="#a0"></a><br></td></tr>
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a1">bvector</a> (<a class="el" href="a00048.html#w2">size_type</a> bv_size, <a class="el" href="a00095.html#ga0">strategy</a> strat=BM_BIT, const <a class="el" href="a00092.html#a19">gap_word_t</a> *glevel_len=<a class="el" href="a00068.html">bm::gap_len_table</a>&lt; true &gt;::_len, const Alloc &amp;alloc=Alloc())</td></tr>
42
 
 
43
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs bvector class.  <a href="#a1"></a><br></td></tr>
44
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a2">bvector</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
45
 
 
46
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a3">operator=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
47
 
 
48
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00056.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a4">operator[]</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n)</td></tr>
49
 
 
50
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a5">operator[]</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n) const </td></tr>
51
 
 
52
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a6">operator &amp;=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
53
 
 
54
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a7">operator^=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
55
 
 
56
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a8">operator|=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
57
 
 
58
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a9">operator-=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>)</td></tr>
59
 
 
60
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a10">operator&lt;</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
61
 
 
62
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a11">operator&lt;=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
63
 
 
64
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a12">operator&gt;</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
65
 
 
66
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a13">operator&gt;=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
67
 
 
68
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a14">operator==</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
69
 
 
70
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a15">operator!=</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
71
 
 
72
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a16">operator~</a> () const </td></tr>
73
 
 
74
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">Alloc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a17">get_allocator</a> () const </td></tr>
75
 
 
76
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a18">set_bit</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n, bool val=true)</td></tr>
77
 
 
78
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bit n.  <a href="#a18"></a><br></td></tr>
79
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a19">set</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n, bool val=true)</td></tr>
80
 
 
81
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bit n if val is true, clears bit n if val is false.  <a href="#a19"></a><br></td></tr>
82
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a20">set</a> ()</td></tr>
83
 
 
84
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets every bit in this bitset to 1.  <a href="#a20"></a><br></td></tr>
85
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a21">set_range</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> left, <a class="el" href="a00092.html#a9">bm::id_t</a> right, bool value=true)</td></tr>
86
 
 
87
 
<tr><td class="mdescLeft">&nbsp;</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="#a21"></a><br></td></tr>
88
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00051.html">insert_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a22">inserter</a> ()</td></tr>
89
 
 
90
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a23">clear_bit</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n)</td></tr>
91
 
 
92
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears bit n.  <a href="#a23"></a><br></td></tr>
93
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a24">clear</a> (bool free_mem=false)</td></tr>
94
 
 
95
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears every bit in the bitvector.  <a href="#a24"></a><br></td></tr>
96
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a25">reset</a> ()</td></tr>
97
 
 
98
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears every bit in the bitvector.  <a href="#a25"></a><br></td></tr>
99
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a26">count</a> () const </td></tr>
100
 
 
101
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns count of bits which are 1.  <a href="#a26"></a><br></td></tr>
102
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html#w2">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a27">capacity</a> () const </td></tr>
103
 
 
104
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns bvector's capacity (number of bits it can store).  <a href="#a27"></a><br></td></tr>
105
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html#w2">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a28">size</a> () const </td></tr>
106
 
 
107
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return current size of the vector (bits)  <a href="#a28"></a><br></td></tr>
108
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a29">resize</a> (<a class="el" href="a00048.html#w2">size_type</a> new_size)</td></tr>
109
 
 
110
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change size of the bvector.  <a href="#a29"></a><br></td></tr>
111
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a30">count_blocks</a> (unsigned *arr) const </td></tr>
112
 
 
113
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount values for all bvector blocks.  <a href="#a30"></a><br></td></tr>
114
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a31">count_range</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> left, <a class="el" href="a00092.html#a9">bm::id_t</a> right, unsigned *block_count_arr=0) const </td></tr>
115
 
 
116
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns count of 1 bits in the given diapason.  <a href="#a31"></a><br></td></tr>
117
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a32">recalc_count</a> ()</td></tr>
118
 
 
119
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a33">forget_count</a> ()</td></tr>
120
 
 
121
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a34">invert</a> ()</td></tr>
122
 
 
123
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts all bits.  <a href="#a34"></a><br></td></tr>
124
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a35">get_bit</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n) const </td></tr>
125
 
 
126
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if bit n is set and false is bit n is 0.  <a href="#a35"></a><br></td></tr>
127
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a36">test</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n) const </td></tr>
128
 
 
129
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if bit n is set and false is bit n is 0.  <a href="#a36"></a><br></td></tr>
130
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a37">any</a> () const </td></tr>
131
 
 
132
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if any bits in this bitset are set, and otherwise returns false.  <a href="#a37"></a><br></td></tr>
133
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a38">none</a> () const </td></tr>
134
 
 
135
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if no bits are set, otherwise returns false.  <a href="#a38"></a><br></td></tr>
136
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a39">flip</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> n)</td></tr>
137
 
 
138
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flips bit n.  <a href="#a39"></a><br></td></tr>
139
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a40">flip</a> ()</td></tr>
140
 
 
141
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flips all bits.  <a href="#a40"></a><br></td></tr>
142
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a41">swap</a> (<a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;bv)</td></tr>
143
 
 
144
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchanges content of bv and this bitvector.  <a href="#a41"></a><br></td></tr>
145
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a42">get_first</a> () const </td></tr>
146
 
 
147
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets number of first bit which is ON.  <a href="#a42"></a><br></td></tr>
148
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a43">get_next</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> prev) const </td></tr>
149
 
 
150
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds the number of the next bit ON.  <a href="#a43"></a><br></td></tr>
151
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a44">extract_next</a> (<a class="el" href="a00092.html#a9">bm::id_t</a> prev)</td></tr>
152
 
 
153
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a45">calc_stat</a> (struct <a class="el" href="a00057.html">statistics</a> *st) const </td></tr>
154
 
 
155
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates bitvector statistics.  <a href="#a45"></a><br></td></tr>
156
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a46">bit_or</a> (const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;vect)</td></tr>
157
 
 
158
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logical OR operation.  <a href="#a46"></a><br></td></tr>
159
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a47">bit_and</a> (const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;vect)</td></tr>
160
 
 
161
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logical AND operation.  <a href="#a47"></a><br></td></tr>
162
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a48">bit_xor</a> (const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;vect)</td></tr>
163
 
 
164
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logical XOR operation.  <a href="#a48"></a><br></td></tr>
165
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a49">bit_sub</a> (const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;vect)</td></tr>
166
 
 
167
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logical SUB operation.  <a href="#a49"></a><br></td></tr>
168
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a50">set_new_blocks_strat</a> (<a class="el" href="a00095.html#ga0">strategy</a> strat)</td></tr>
169
 
 
170
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets new blocks allocation strategy.  <a href="#a50"></a><br></td></tr>
171
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00095.html#ga0">strategy</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a51">get_new_blocks_strat</a> () const </td></tr>
172
 
 
173
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns blocks allocation strategy.  <a href="#a51"></a><br></td></tr>
174
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a52">stat</a> (unsigned blocks=0) const </td></tr>
175
 
 
176
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a53">optimize</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *temp_block=0, <a class="el" href="a00048.html#w7">optmode</a> opt_mode=opt_compress)</td></tr>
177
 
 
178
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optimize memory bitvector's memory allocation.  <a href="#a53"></a><br></td></tr>
179
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a54">optimize_gap_size</a> ()</td></tr>
180
 
 
181
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optimize sizes of GAP blocks.  <a href="#a54"></a><br></td></tr>
182
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a55">set_gap_levels</a> (const <a class="el" href="a00092.html#a19">gap_word_t</a> *glevel_len)</td></tr>
183
 
 
184
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets new GAP lengths table. All GAP blocks will be reallocated to match the new scheme.  <a href="#a55"></a><br></td></tr>
185
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a56">compare</a> (const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;<a class="el" href="a00048.html">bvect</a>) const </td></tr>
186
 
 
187
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison with a bitvector.  <a href="#a56"></a><br></td></tr>
188
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a57">allocate_tempblock</a> () const </td></tr>
189
 
 
190
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates temporary block of memory.  <a href="#a57"></a><br></td></tr>
191
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a58">free_tempblock</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *block) const </td></tr>
192
 
 
193
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees temporary block of memory.  <a href="#a58"></a><br></td></tr>
194
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html">enumerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a59">first</a> () const </td></tr>
195
 
 
196
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns enumerator pointing on the first non-zero bit.  <a href="#a59"></a><br></td></tr>
197
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html">enumerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a60">end</a> () const </td></tr>
198
 
 
199
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns enumerator pointing on the next bit after the last.  <a href="#a60"></a><br></td></tr>
200
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a61">get_block</a> (unsigned nb) const </td></tr>
201
 
 
202
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a62">combine_operation_with_block</a> (unsigned nb, const <a class="el" href="a00092.html#a10">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00092.html#a159">bm::operation</a> opcode)</td></tr>
203
 
 
204
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00048.html#w1">blocks_manager_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a63">get_blocks_manager</a> () const </td></tr>
205
 
 
206
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00048.html#w1">blocks_manager_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a64">get_blocks_manager</a> ()</td></tr>
207
 
 
208
 
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
209
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#n0">iterator_base</a></td></tr>
210
 
 
211
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#n1">enumerator</a></td></tr>
212
 
 
213
 
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
214
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html">counted_enumerator</a></td></tr>
215
 
 
216
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant input iterator designed to enumerate "ON" bits <a class="el" href="a00049.html">counted_enumerator</a> keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit.  <a href="a00049.html#_details">More...</a><br></td></tr>
217
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">enumerator</a></td></tr>
218
 
 
219
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant input iterator designed to enumerate "ON" bits.  <a href="a00050.html#_details">More...</a><br></td></tr>
220
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">insert_iterator</a></td></tr>
221
 
 
222
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces).  <a href="a00051.html#_details">More...</a><br></td></tr>
223
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">iterator_base</a></td></tr>
224
 
 
225
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for all iterators.  <a href="a00052.html#_details">More...</a><br></td></tr>
226
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">reference</a></td></tr>
227
 
 
228
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class reference implements an object for bit assignment. Since C++ does not provide with build-in bit type supporting l-value operations we have to emulate it.  <a href="a00056.html#_details">More...</a><br></td></tr>
229
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">statistics</a></td></tr>
230
 
 
231
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure with statistical information about bitset's memory allocation details.  <a href="a00057.html#_details">More...</a><br></td></tr>
232
 
</table>
233
 
<hr><a name="_details"></a><h2>Detailed Description</h2>
234
 
<h3>template&lt;class Alloc, class MS&gt;<br>
235
 
 class bm::bvector&lt; Alloc, MS &gt;</h3>
236
 
 
237
 
bitvector with runtime compression of bits. <dl compact><dt><b>Examples: </b></dt><dd>
238
 
 
239
 
<p>
240
 
<a class="el" href="a00034.html#_a1">sample1.cpp</a>, <a class="el" href="a00035.html#_a8">sample2.cpp</a>, <a class="el" href="a00036.html#_a13">sample3.cpp</a>, <a class="el" href="a00037.html#_a19">sample4.cpp</a>, <a class="el" href="a00038.html#_a30">sample5.cpp</a>, <a class="el" href="a00039.html#_a35">sample6.cpp</a>, <a class="el" href="a00040.html#_a37">sample7.cpp</a>, <a class="el" href="a00041.html#_a53">sample8.cpp</a>, and <a class="el" href="a00042.html#_a60">sample9.cpp</a>.</dl>
241
 
<p>
242
 
 
243
 
<p>
244
 
Definition at line <a class="el" href="a00102.html#l00107">107</a> of file <a class="el" href="a00102.html">bm.h</a>.<hr><h2>Member Typedef Documentation</h2>
245
 
<a class="anchor" name="w0" doxytag="bm::bvector::allocator_type"></a><p>
246
 
<table class="mdTable" cellpadding="2" cellspacing="0">
247
 
  <tr>
248
 
    <td class="mdRow">
249
 
      <table cellpadding="0" cellspacing="0" border="0">
250
 
        <tr>
251
 
          <td class="mdPrefix" colspan="4">
252
 
template&lt;class Alloc, class MS&gt; </td>
253
 
        </tr>
254
 
        <tr>
255
 
          <td class="md" nowrap valign="top">typedef Alloc <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html#w0">allocator_type</a>          </td>
256
 
        </tr>
257
 
      </table>
258
 
    </td>
259
 
  </tr>
260
 
</table>
261
 
<table cellspacing="5" cellpadding="0" border="0">
262
 
  <tr>
263
 
    <td>
264
 
      &nbsp;
265
 
    </td>
266
 
    <td>
267
 
 
268
 
<p>
269
 
 
270
 
<p>
271
 
Definition at line <a class="el" href="a00102.html#l00111">111</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
272
 
  </tr>
273
 
</table>
274
 
<a class="anchor" name="w1" doxytag="bm::bvector::blocks_manager_type"></a><p>
275
 
<table class="mdTable" cellpadding="2" cellspacing="0">
276
 
  <tr>
277
 
    <td class="mdRow">
278
 
      <table cellpadding="0" cellspacing="0" border="0">
279
 
        <tr>
280
 
          <td class="mdPrefix" colspan="4">
281
 
template&lt;class Alloc, class MS&gt; </td>
282
 
        </tr>
283
 
        <tr>
284
 
          <td class="md" nowrap valign="top">typedef blocks_manager&lt;Alloc, MS&gt; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html#w1">blocks_manager_type</a>          </td>
285
 
        </tr>
286
 
      </table>
287
 
    </td>
288
 
  </tr>
289
 
</table>
290
 
<table cellspacing="5" cellpadding="0" border="0">
291
 
  <tr>
292
 
    <td>
293
 
      &nbsp;
294
 
    </td>
295
 
    <td>
296
 
 
297
 
<p>
298
 
 
299
 
<p>
300
 
Definition at line <a class="el" href="a00102.html#l00112">112</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
301
 
  </tr>
302
 
</table>
303
 
<a class="anchor" name="w3" doxytag="bm::bvector::const_reference"></a><p>
304
 
<table class="mdTable" cellpadding="2" cellspacing="0">
305
 
  <tr>
306
 
    <td class="mdRow">
307
 
      <table cellpadding="0" cellspacing="0" border="0">
308
 
        <tr>
309
 
          <td class="mdPrefix" colspan="4">
310
 
template&lt;class Alloc, class MS&gt; </td>
311
 
        </tr>
312
 
        <tr>
313
 
          <td class="md" nowrap valign="top">typedef bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html#w3">const_reference</a>          </td>
314
 
        </tr>
315
 
      </table>
316
 
    </td>
317
 
  </tr>
318
 
</table>
319
 
<table cellspacing="5" cellpadding="0" border="0">
320
 
  <tr>
321
 
    <td>
322
 
      &nbsp;
323
 
    </td>
324
 
    <td>
325
 
 
326
 
<p>
327
 
 
328
 
<p>
329
 
Definition at line <a class="el" href="a00102.html#l00229">229</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
330
 
  </tr>
331
 
</table>
332
 
<a class="anchor" name="w2" doxytag="bm::bvector::size_type"></a><p>
333
 
<table class="mdTable" cellpadding="2" cellspacing="0">
334
 
  <tr>
335
 
    <td class="mdRow">
336
 
      <table cellpadding="0" cellspacing="0" border="0">
337
 
        <tr>
338
 
          <td class="mdPrefix" colspan="4">
339
 
template&lt;class Alloc, class MS&gt; </td>
340
 
        </tr>
341
 
        <tr>
342
 
          <td class="md" nowrap valign="top">typedef <a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html#w2">size_type</a>          </td>
343
 
        </tr>
344
 
      </table>
345
 
    </td>
346
 
  </tr>
347
 
</table>
348
 
<table cellspacing="5" cellpadding="0" border="0">
349
 
  <tr>
350
 
    <td>
351
 
      &nbsp;
352
 
    </td>
353
 
    <td>
354
 
 
355
 
<p>
356
 
Type used to count bits in the bit vector. 
357
 
<p>
358
 
 
359
 
<p>
360
 
Definition at line <a class="el" href="a00102.html#l00114">114</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
361
 
  </tr>
362
 
</table>
363
 
<hr><h2>Member Enumeration Documentation</h2>
364
 
<a class="anchor" name="w7" doxytag="bm::bvector::optmode"></a><p>
365
 
<table class="mdTable" cellpadding="2" cellspacing="0">
366
 
  <tr>
367
 
    <td class="mdRow">
368
 
      <table cellpadding="0" cellspacing="0" border="0">
369
 
        <tr>
370
 
          <td class="mdPrefix" colspan="4">
371
 
template&lt;class Alloc, class MS&gt; </td>
372
 
        </tr>
373
 
        <tr>
374
 
          <td class="md" nowrap valign="top">enum <a class="el" href="a00048.html#w7">bm::bvector::optmode</a>          </td>
375
 
        </tr>
376
 
      </table>
377
 
    </td>
378
 
  </tr>
379
 
</table>
380
 
<table cellspacing="5" cellpadding="0" border="0">
381
 
  <tr>
382
 
    <td>
383
 
      &nbsp;
384
 
    </td>
385
 
    <td>
386
 
 
387
 
<p>
388
 
Optimization mode Every next level means additional checks (better compression vs time). 
389
 
<p>
390
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a53">optimize</a> </dd></dl>
391
 
<dl compact><dt><b>Enumeration values: </b></dt><dd>
392
 
<table border="0" cellspacing="2" cellpadding="0">
393
 
<tr><td valign="top"><em><a class="anchor" name="w7w4" doxytag="opt_free_0"></a>opt_free_0</em>&nbsp;</td><td>
394
 
Free unused 0 blocks. </td></tr>
395
 
<tr><td valign="top"><em><a class="anchor" name="w7w5" doxytag="opt_free_01"></a>opt_free_01</em>&nbsp;</td><td>
396
 
Free unused 0 and 1 blocks. </td></tr>
397
 
<tr><td valign="top"><em><a class="anchor" name="w7w6" doxytag="opt_compress"></a>opt_compress</em>&nbsp;</td><td>
398
 
compress blocks when possible </td></tr>
399
 
</table>
400
 
</dl>
401
 
 
402
 
<p>
403
 
Definition at line <a class="el" href="a00102.html#l01317">1317</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
404
 
  </tr>
405
 
</table>
406
 
<hr><h2>Constructor &amp; Destructor Documentation</h2>
407
 
<a class="anchor" name="a0" doxytag="bm::bvector::bvector"></a><p>
408
 
<table class="mdTable" cellpadding="2" cellspacing="0">
409
 
  <tr>
410
 
    <td class="mdRow">
411
 
      <table cellpadding="0" cellspacing="0" border="0">
412
 
        <tr>
413
 
          <td class="mdPrefix" colspan="4">
414
 
template&lt;class Alloc, class MS&gt; </td>
415
 
        </tr>
416
 
        <tr>
417
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html">bvector</a>           </td>
418
 
          <td class="md" valign="top">(&nbsp;</td>
419
 
          <td class="md" nowrap valign="top"><a class="el" href="a00095.html#ga0">strategy</a>&nbsp;</td>
420
 
          <td class="mdname" nowrap> <em>strat</em> = <code>BM_BIT</code>, </td>
421
 
        </tr>
422
 
        <tr>
423
 
          <td class="md" nowrap align="right"></td>
424
 
          <td class="md"></td>
425
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td>
426
 
          <td class="mdname" nowrap> <em>glevel_len</em> = <code><a class="el" href="a00068.html">bm::gap_len_table</a>&lt;true&gt;::_len</code>, </td>
427
 
        </tr>
428
 
        <tr>
429
 
          <td class="md" nowrap align="right"></td>
430
 
          <td class="md"></td>
431
 
          <td class="md" nowrap><a class="el" href="a00048.html#w2">size_type</a>&nbsp;</td>
432
 
          <td class="mdname" nowrap> <em>bv_size</em> = <code><a class="el" href="a00092.html#a12">bm::id_max</a></code>, </td>
433
 
        </tr>
434
 
        <tr>
435
 
          <td class="md" nowrap align="right"></td>
436
 
          <td class="md"></td>
437
 
          <td class="md" nowrap>const Alloc &amp;&nbsp;</td>
438
 
          <td class="mdname" nowrap> <em>alloc</em> = <code>Alloc()</code></td>
439
 
        </tr>
440
 
        <tr>
441
 
          <td class="md"></td>
442
 
          <td class="md">)&nbsp;</td>
443
 
          <td class="md" colspan="2"><code> [inline]</code></td>
444
 
        </tr>
445
 
      </table>
446
 
    </td>
447
 
  </tr>
448
 
</table>
449
 
<table cellspacing="5" cellpadding="0" border="0">
450
 
  <tr>
451
 
    <td>
452
 
      &nbsp;
453
 
    </td>
454
 
    <td>
455
 
 
456
 
<p>
457
 
Constructs bvector class. 
458
 
<p>
459
 
<dl compact><dt><b>Parameters:</b></dt><dd>
460
 
  <table border="0" cellspacing="2" cellpadding="0">
461
 
    <tr><td valign="top"></td><td valign="top"><em>strat</em>&nbsp;</td><td>- operation mode strategy, BM_BIT - default strategy, bvector use plain bitset blocks, (performance oriented strategy). BM_GAP - memory effitent strategy, bvector allocates blocks as array of intervals(gaps) and convert blocks into plain bitsets only when enthropy grows. </td></tr>
462
 
    <tr><td valign="top"></td><td valign="top"><em>glevel_len</em>&nbsp;</td><td><ul>
463
 
<li>pointer on C-style array keeping GAP block sizes. (Put <a class="el" href="a00069.html#s0">bm::gap_len_table_min&lt;true&gt;::_len</a> for GAP memory saving mode) </li></ul>
464
 
</td></tr>
465
 
    <tr><td valign="top"></td><td valign="top"><em>bv_size</em>&nbsp;</td><td><ul>
466
 
<li>bvector size (number of bits addressable by bvector), <a class="el" href="a00092.html#a12">bm::id_max</a> means "no limits" (recommended). bit vector allocates this space dynamically on demand.</li></ul>
467
 
</td></tr>
468
 
  </table>
469
 
</dl>
470
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00068.html">bm::gap_len_table</a> <a class="el" href="a00069.html">bm::gap_len_table_min</a> <a class="el" href="a00048.html#a50">set_new_blocks_strat</a> </dd></dl>
471
 
 
472
 
<p>
473
 
Definition at line <a class="el" href="a00102.html#l00840">840</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
474
 
  </tr>
475
 
</table>
476
 
<a class="anchor" name="a1" doxytag="bm::bvector::bvector"></a><p>
477
 
<table class="mdTable" cellpadding="2" cellspacing="0">
478
 
  <tr>
479
 
    <td class="mdRow">
480
 
      <table cellpadding="0" cellspacing="0" border="0">
481
 
        <tr>
482
 
          <td class="mdPrefix" colspan="4">
483
 
template&lt;class Alloc, class MS&gt; </td>
484
 
        </tr>
485
 
        <tr>
486
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html">bvector</a>           </td>
487
 
          <td class="md" valign="top">(&nbsp;</td>
488
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html#w2">size_type</a>&nbsp;</td>
489
 
          <td class="mdname" nowrap> <em>bv_size</em>, </td>
490
 
        </tr>
491
 
        <tr>
492
 
          <td class="md" nowrap align="right"></td>
493
 
          <td class="md"></td>
494
 
          <td class="md" nowrap><a class="el" href="a00095.html#ga0">strategy</a>&nbsp;</td>
495
 
          <td class="mdname" nowrap> <em>strat</em> = <code>BM_BIT</code>, </td>
496
 
        </tr>
497
 
        <tr>
498
 
          <td class="md" nowrap align="right"></td>
499
 
          <td class="md"></td>
500
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td>
501
 
          <td class="mdname" nowrap> <em>glevel_len</em> = <code><a class="el" href="a00068.html">bm::gap_len_table</a>&lt;true&gt;::_len</code>, </td>
502
 
        </tr>
503
 
        <tr>
504
 
          <td class="md" nowrap align="right"></td>
505
 
          <td class="md"></td>
506
 
          <td class="md" nowrap>const Alloc &amp;&nbsp;</td>
507
 
          <td class="mdname" nowrap> <em>alloc</em> = <code>Alloc()</code></td>
508
 
        </tr>
509
 
        <tr>
510
 
          <td class="md"></td>
511
 
          <td class="md">)&nbsp;</td>
512
 
          <td class="md" colspan="2"><code> [inline]</code></td>
513
 
        </tr>
514
 
      </table>
515
 
    </td>
516
 
  </tr>
517
 
</table>
518
 
<table cellspacing="5" cellpadding="0" border="0">
519
 
  <tr>
520
 
    <td>
521
 
      &nbsp;
522
 
    </td>
523
 
    <td>
524
 
 
525
 
<p>
526
 
Constructs bvector class. 
527
 
<p>
528
 
 
529
 
<p>
530
 
Definition at line <a class="el" href="a00102.html#l00852">852</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
531
 
  </tr>
532
 
</table>
533
 
<a class="anchor" name="a2" doxytag="bm::bvector::bvector"></a><p>
534
 
<table class="mdTable" cellpadding="2" cellspacing="0">
535
 
  <tr>
536
 
    <td class="mdRow">
537
 
      <table cellpadding="0" cellspacing="0" border="0">
538
 
        <tr>
539
 
          <td class="mdPrefix" colspan="4">
540
 
template&lt;class Alloc, class MS&gt; </td>
541
 
        </tr>
542
 
        <tr>
543
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::<a class="el" href="a00048.html">bvector</a>           </td>
544
 
          <td class="md" valign="top">(&nbsp;</td>
545
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
546
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
547
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
548
 
          <td class="md" nowrap><code> [inline]</code></td>
549
 
        </tr>
550
 
      </table>
551
 
    </td>
552
 
  </tr>
553
 
</table>
554
 
<table cellspacing="5" cellpadding="0" border="0">
555
 
  <tr>
556
 
    <td>
557
 
      &nbsp;
558
 
    </td>
559
 
    <td>
560
 
 
561
 
<p>
562
 
 
563
 
<p>
564
 
Definition at line <a class="el" href="a00102.html#l00862">862</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
565
 
  </tr>
566
 
</table>
567
 
<hr><h2>Member Function Documentation</h2>
568
 
<a class="anchor" name="a57" doxytag="bm::bvector::allocate_tempblock"></a><p>
569
 
<table class="mdTable" cellpadding="2" cellspacing="0">
570
 
  <tr>
571
 
    <td class="mdRow">
572
 
      <table cellpadding="0" cellspacing="0" border="0">
573
 
        <tr>
574
 
          <td class="mdPrefix" colspan="4">
575
 
template&lt;class Alloc, class MS&gt; </td>
576
 
        </tr>
577
 
        <tr>
578
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>* <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::allocate_tempblock           </td>
579
 
          <td class="md" valign="top">(&nbsp;</td>
580
 
          <td class="mdname1" valign="top" nowrap>          </td>
581
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
582
 
          <td class="md" nowrap> const<code> [inline]</code></td>
583
 
        </tr>
584
 
      </table>
585
 
    </td>
586
 
  </tr>
587
 
</table>
588
 
<table cellspacing="5" cellpadding="0" border="0">
589
 
  <tr>
590
 
    <td>
591
 
      &nbsp;
592
 
    </td>
593
 
    <td>
594
 
 
595
 
<p>
596
 
Allocates temporary block of memory. 
597
 
<p>
598
 
Temp block can be passed to bvector functions requiring some temp memory for their operation. (like serialize)<p>
599
 
<dl compact><dt><b>Note:</b></dt><dd>method is marked const, but it's not quite true, since it can in some cases modify the state of the block allocator (if it has a state). (Can be important in MT programs).</dd></dl>
600
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a58">free_tempblock</a> </dd></dl>
601
 
 
602
 
<p>
603
 
Definition at line <a class="el" href="a00102.html#l01374">1374</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
604
 
  </tr>
605
 
</table>
606
 
<a class="anchor" name="a37" doxytag="bm::bvector::any"></a><p>
607
 
<table class="mdTable" cellpadding="2" cellspacing="0">
608
 
  <tr>
609
 
    <td class="mdRow">
610
 
      <table cellpadding="0" cellspacing="0" border="0">
611
 
        <tr>
612
 
          <td class="mdPrefix" colspan="4">
613
 
template&lt;class Alloc, class MS&gt; </td>
614
 
        </tr>
615
 
        <tr>
616
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::any           </td>
617
 
          <td class="md" valign="top">(&nbsp;</td>
618
 
          <td class="mdname1" valign="top" nowrap>          </td>
619
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
620
 
          <td class="md" nowrap> const<code> [inline]</code></td>
621
 
        </tr>
622
 
      </table>
623
 
    </td>
624
 
  </tr>
625
 
</table>
626
 
<table cellspacing="5" cellpadding="0" border="0">
627
 
  <tr>
628
 
    <td>
629
 
      &nbsp;
630
 
    </td>
631
 
    <td>
632
 
 
633
 
<p>
634
 
Returns true if any bits in this bitset are set, and otherwise returns false. 
635
 
<p>
636
 
<dl compact><dt><b>Returns:</b></dt><dd>true if any bit is set </dd></dl>
637
 
 
638
 
<p>
639
 
Definition at line <a class="el" href="a00102.html#l01149">1149</a> of file <a class="el" href="a00102.html">bm.h</a>.
640
 
<p>
641
 
References <a class="el" href="a00106.html#l00462">bm::for_each_nzblock_if()</a>.
642
 
<p>
643
 
Referenced by <a class="el" href="a00102.html#l01165">bm::bvector&lt; Alloc, MS &gt;::none()</a>.    </td>
644
 
  </tr>
645
 
</table>
646
 
<a class="anchor" name="a47" doxytag="bm::bvector::bit_and"></a><p>
647
 
<table class="mdTable" cellpadding="2" cellspacing="0">
648
 
  <tr>
649
 
    <td class="mdRow">
650
 
      <table cellpadding="0" cellspacing="0" border="0">
651
 
        <tr>
652
 
          <td class="mdPrefix" colspan="4">
653
 
template&lt;class Alloc, class MS&gt; </td>
654
 
        </tr>
655
 
        <tr>
656
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::bit_and           </td>
657
 
          <td class="md" valign="top">(&nbsp;</td>
658
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
659
 
          <td class="mdname1" valign="top" nowrap> <em>vect</em>          </td>
660
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
661
 
          <td class="md" nowrap><code> [inline]</code></td>
662
 
        </tr>
663
 
      </table>
664
 
    </td>
665
 
  </tr>
666
 
</table>
667
 
<table cellspacing="5" cellpadding="0" border="0">
668
 
  <tr>
669
 
    <td>
670
 
      &nbsp;
671
 
    </td>
672
 
    <td>
673
 
 
674
 
<p>
675
 
Logical AND operation. 
676
 
<p>
677
 
<dl compact><dt><b>Parameters:</b></dt><dd>
678
 
  <table border="0" cellspacing="2" cellpadding="0">
679
 
    <tr><td valign="top"></td><td valign="top"><em>vect</em>&nbsp;</td><td>- Argument vector. </td></tr>
680
 
  </table>
681
 
</dl>
682
 
 
683
 
<p>
684
 
Definition at line <a class="el" href="a00102.html#l01259">1259</a> of file <a class="el" href="a00102.html">bm.h</a>.
685
 
<p>
686
 
References <a class="el" href="a00092.html#a159a1">bm::BM_AND</a>, and <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.
687
 
<p>
688
 
Referenced by <a class="el" href="a00102.html#l01517">bm::operator &amp;()</a>, and <a class="el" href="a00102.html#l00891">bm::bvector&lt; Alloc, MS &gt;::operator &amp;=()</a>.    </td>
689
 
  </tr>
690
 
</table>
691
 
<a class="anchor" name="a46" doxytag="bm::bvector::bit_or"></a><p>
692
 
<table class="mdTable" cellpadding="2" cellspacing="0">
693
 
  <tr>
694
 
    <td class="mdRow">
695
 
      <table cellpadding="0" cellspacing="0" border="0">
696
 
        <tr>
697
 
          <td class="mdPrefix" colspan="4">
698
 
template&lt;class Alloc, class MS&gt; </td>
699
 
        </tr>
700
 
        <tr>
701
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::bit_or           </td>
702
 
          <td class="md" valign="top">(&nbsp;</td>
703
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
704
 
          <td class="mdname1" valign="top" nowrap> <em>vect</em>          </td>
705
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
706
 
          <td class="md" nowrap><code> [inline]</code></td>
707
 
        </tr>
708
 
      </table>
709
 
    </td>
710
 
  </tr>
711
 
</table>
712
 
<table cellspacing="5" cellpadding="0" border="0">
713
 
  <tr>
714
 
    <td>
715
 
      &nbsp;
716
 
    </td>
717
 
    <td>
718
 
 
719
 
<p>
720
 
Logical OR operation. 
721
 
<p>
722
 
<dl compact><dt><b>Parameters:</b></dt><dd>
723
 
  <table border="0" cellspacing="2" cellpadding="0">
724
 
    <tr><td valign="top"></td><td valign="top"><em>vect</em>&nbsp;</td><td>- Argument vector. </td></tr>
725
 
  </table>
726
 
</dl>
727
 
 
728
 
<p>
729
 
Definition at line <a class="el" href="a00102.html#l01248">1248</a> of file <a class="el" href="a00102.html">bm.h</a>.
730
 
<p>
731
 
References <a class="el" href="a00092.html#a159a2">bm::BM_OR</a>, and <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.
732
 
<p>
733
 
Referenced by <a class="el" href="a00102.html#l00870">bm::bvector&lt; Alloc, MS &gt;::operator=()</a>, <a class="el" href="a00102.html#l01532">bm::operator|()</a>, and <a class="el" href="a00102.html#l00901">bm::bvector&lt; Alloc, MS &gt;::operator|=()</a>.    </td>
734
 
  </tr>
735
 
</table>
736
 
<a class="anchor" name="a49" doxytag="bm::bvector::bit_sub"></a><p>
737
 
<table class="mdTable" cellpadding="2" cellspacing="0">
738
 
  <tr>
739
 
    <td class="mdRow">
740
 
      <table cellpadding="0" cellspacing="0" border="0">
741
 
        <tr>
742
 
          <td class="mdPrefix" colspan="4">
743
 
template&lt;class Alloc, class MS&gt; </td>
744
 
        </tr>
745
 
        <tr>
746
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::bit_sub           </td>
747
 
          <td class="md" valign="top">(&nbsp;</td>
748
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
749
 
          <td class="mdname1" valign="top" nowrap> <em>vect</em>          </td>
750
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
751
 
          <td class="md" nowrap><code> [inline]</code></td>
752
 
        </tr>
753
 
      </table>
754
 
    </td>
755
 
  </tr>
756
 
</table>
757
 
<table cellspacing="5" cellpadding="0" border="0">
758
 
  <tr>
759
 
    <td>
760
 
      &nbsp;
761
 
    </td>
762
 
    <td>
763
 
 
764
 
<p>
765
 
Logical SUB operation. 
766
 
<p>
767
 
<dl compact><dt><b>Parameters:</b></dt><dd>
768
 
  <table border="0" cellspacing="2" cellpadding="0">
769
 
    <tr><td valign="top"></td><td valign="top"><em>vect</em>&nbsp;</td><td>- Argument vector. </td></tr>
770
 
  </table>
771
 
</dl>
772
 
 
773
 
<p>
774
 
Definition at line <a class="el" href="a00102.html#l01281">1281</a> of file <a class="el" href="a00102.html">bm.h</a>.
775
 
<p>
776
 
References <a class="el" href="a00092.html#a159a3">bm::BM_SUB</a>, and <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.
777
 
<p>
778
 
Referenced by <a class="el" href="a00102.html#l01562">bm::operator-()</a>, and <a class="el" href="a00102.html#l00906">bm::bvector&lt; Alloc, MS &gt;::operator-=()</a>.    </td>
779
 
  </tr>
780
 
</table>
781
 
<a class="anchor" name="a48" doxytag="bm::bvector::bit_xor"></a><p>
782
 
<table class="mdTable" cellpadding="2" cellspacing="0">
783
 
  <tr>
784
 
    <td class="mdRow">
785
 
      <table cellpadding="0" cellspacing="0" border="0">
786
 
        <tr>
787
 
          <td class="mdPrefix" colspan="4">
788
 
template&lt;class Alloc, class MS&gt; </td>
789
 
        </tr>
790
 
        <tr>
791
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::bit_xor           </td>
792
 
          <td class="md" valign="top">(&nbsp;</td>
793
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
794
 
          <td class="mdname1" valign="top" nowrap> <em>vect</em>          </td>
795
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
796
 
          <td class="md" nowrap><code> [inline]</code></td>
797
 
        </tr>
798
 
      </table>
799
 
    </td>
800
 
  </tr>
801
 
</table>
802
 
<table cellspacing="5" cellpadding="0" border="0">
803
 
  <tr>
804
 
    <td>
805
 
      &nbsp;
806
 
    </td>
807
 
    <td>
808
 
 
809
 
<p>
810
 
Logical XOR operation. 
811
 
<p>
812
 
<dl compact><dt><b>Parameters:</b></dt><dd>
813
 
  <table border="0" cellspacing="2" cellpadding="0">
814
 
    <tr><td valign="top"></td><td valign="top"><em>vect</em>&nbsp;</td><td>- Argument vector. </td></tr>
815
 
  </table>
816
 
</dl>
817
 
 
818
 
<p>
819
 
Definition at line <a class="el" href="a00102.html#l01270">1270</a> of file <a class="el" href="a00102.html">bm.h</a>.
820
 
<p>
821
 
References <a class="el" href="a00092.html#a159a4">bm::BM_XOR</a>, and <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.
822
 
<p>
823
 
Referenced by <a class="el" href="a00102.html#l01547">bm::operator^()</a>, and <a class="el" href="a00102.html#l00896">bm::bvector&lt; Alloc, MS &gt;::operator^=()</a>.    </td>
824
 
  </tr>
825
 
</table>
826
 
<a class="anchor" name="a45" doxytag="bm::bvector::calc_stat"></a><p>
827
 
<table class="mdTable" cellpadding="2" cellspacing="0">
828
 
  <tr>
829
 
    <td class="mdRow">
830
 
      <table cellpadding="0" cellspacing="0" border="0">
831
 
        <tr>
832
 
          <td class="mdPrefix" colspan="4">
833
 
template&lt;class Alloc, class MS&gt; </td>
834
 
        </tr>
835
 
        <tr>
836
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::calc_stat           </td>
837
 
          <td class="md" valign="top">(&nbsp;</td>
838
 
          <td class="md" nowrap valign="top">struct <a class="el" href="a00057.html">statistics</a> *&nbsp;</td>
839
 
          <td class="mdname1" valign="top" nowrap> <em>st</em>          </td>
840
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
841
 
          <td class="md" nowrap> const</td>
842
 
        </tr>
843
 
      </table>
844
 
    </td>
845
 
  </tr>
846
 
</table>
847
 
<table cellspacing="5" cellpadding="0" border="0">
848
 
  <tr>
849
 
    <td>
850
 
      &nbsp;
851
 
    </td>
852
 
    <td>
853
 
 
854
 
<p>
855
 
Calculates bitvector statistics. 
856
 
<p>
857
 
<dl compact><dt><b>Parameters:</b></dt><dd>
858
 
  <table border="0" cellspacing="2" cellpadding="0">
859
 
    <tr><td valign="top"></td><td valign="top"><em>st</em>&nbsp;</td><td>- pointer on statistics structure to be filled in.</td></tr>
860
 
  </table>
861
 
</dl>
862
 
Function fills statistics structure containing information about how this vector uses memory and estimation of max. amount of memory bvector needs to serialize itself.<p>
863
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00057.html">statistics</a> </dd></dl>
864
 
<dl compact><dt><b>Examples: </b></dt><dd>
865
 
<a class="el" href="a00040.html#a42">sample7.cpp</a>.</dl>
866
 
<p>
867
 
Referenced by <a class="el" href="a00117.html#l00066">CreateSets()</a>, <a class="el" href="a00117.html#l00087">FillSets()</a>, <a class="el" href="a00102.html#l01808">bm::bvector&lt; Alloc, MS &gt;::optimize_gap_size()</a>, and <a class="el" href="a00114.html#l00077">serialize_bvector()</a>.    </td>
868
 
  </tr>
869
 
</table>
870
 
<a class="anchor" name="a27" doxytag="bm::bvector::capacity"></a><p>
871
 
<table class="mdTable" cellpadding="2" cellspacing="0">
872
 
  <tr>
873
 
    <td class="mdRow">
874
 
      <table cellpadding="0" cellspacing="0" border="0">
875
 
        <tr>
876
 
          <td class="mdPrefix" colspan="4">
877
 
template&lt;class Alloc, class MS&gt; </td>
878
 
        </tr>
879
 
        <tr>
880
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html#w2">size_type</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::capacity           </td>
881
 
          <td class="md" valign="top">(&nbsp;</td>
882
 
          <td class="mdname1" valign="top" nowrap>          </td>
883
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
884
 
          <td class="md" nowrap> const<code> [inline]</code></td>
885
 
        </tr>
886
 
      </table>
887
 
    </td>
888
 
  </tr>
889
 
</table>
890
 
<table cellspacing="5" cellpadding="0" border="0">
891
 
  <tr>
892
 
    <td>
893
 
      &nbsp;
894
 
    </td>
895
 
    <td>
896
 
 
897
 
<p>
898
 
Returns bvector's capacity (number of bits it can store). 
899
 
<p>
900
 
 
901
 
<p>
902
 
Definition at line <a class="el" href="a00102.html#l01056">1056</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
903
 
  </tr>
904
 
</table>
905
 
<a class="anchor" name="a24" doxytag="bm::bvector::clear"></a><p>
906
 
<table class="mdTable" cellpadding="2" cellspacing="0">
907
 
  <tr>
908
 
    <td class="mdRow">
909
 
      <table cellpadding="0" cellspacing="0" border="0">
910
 
        <tr>
911
 
          <td class="mdPrefix" colspan="4">
912
 
template&lt;class Alloc, class MS&gt; </td>
913
 
        </tr>
914
 
        <tr>
915
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::clear           </td>
916
 
          <td class="md" valign="top">(&nbsp;</td>
917
 
          <td class="md" nowrap valign="top">bool&nbsp;</td>
918
 
          <td class="mdname1" valign="top" nowrap> <em>free_mem</em> = <code>false</code>          </td>
919
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
920
 
          <td class="md" nowrap><code> [inline]</code></td>
921
 
        </tr>
922
 
      </table>
923
 
    </td>
924
 
  </tr>
925
 
</table>
926
 
<table cellspacing="5" cellpadding="0" border="0">
927
 
  <tr>
928
 
    <td>
929
 
      &nbsp;
930
 
    </td>
931
 
    <td>
932
 
 
933
 
<p>
934
 
Clears every bit in the bitvector. 
935
 
<p>
936
 
<dl compact><dt><b>Parameters:</b></dt><dd>
937
 
  <table border="0" cellspacing="2" cellpadding="0">
938
 
    <tr><td valign="top"></td><td valign="top"><em>free_mem</em>&nbsp;</td><td>if "true" (default) bvector frees the memory, otherwise sets blocks to 0. </td></tr>
939
 
  </table>
940
 
</dl>
941
 
 
942
 
<p>
943
 
Definition at line <a class="el" href="a00102.html#l01030">1030</a> of file <a class="el" href="a00102.html">bm.h</a>.
944
 
<p>
945
 
References <a class="el" href="a00102.html#l00077">BMCOUNT_SET</a>.
946
 
<p>
947
 
Referenced by <a class="el" href="a00111.html#l00044">main()</a>, <a class="el" href="a00102.html#l00870">bm::bvector&lt; Alloc, MS &gt;::operator=()</a>, and <a class="el" href="a00102.html#l01040">bm::bvector&lt; Alloc, MS &gt;::reset()</a>.    </td>
948
 
  </tr>
949
 
</table>
950
 
<a class="anchor" name="a23" doxytag="bm::bvector::clear_bit"></a><p>
951
 
<table class="mdTable" cellpadding="2" cellspacing="0">
952
 
  <tr>
953
 
    <td class="mdRow">
954
 
      <table cellpadding="0" cellspacing="0" border="0">
955
 
        <tr>
956
 
          <td class="mdPrefix" colspan="4">
957
 
template&lt;class Alloc, class MS&gt; </td>
958
 
        </tr>
959
 
        <tr>
960
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::clear_bit           </td>
961
 
          <td class="md" valign="top">(&nbsp;</td>
962
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
963
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
964
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
965
 
          <td class="md" nowrap><code> [inline]</code></td>
966
 
        </tr>
967
 
      </table>
968
 
    </td>
969
 
  </tr>
970
 
</table>
971
 
<table cellspacing="5" cellpadding="0" border="0">
972
 
  <tr>
973
 
    <td>
974
 
      &nbsp;
975
 
    </td>
976
 
    <td>
977
 
 
978
 
<p>
979
 
Clears bit n. 
980
 
<p>
981
 
<dl compact><dt><b>Parameters:</b></dt><dd>
982
 
  <table border="0" cellspacing="2" cellpadding="0">
983
 
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- bit's index to be cleaned. </td></tr>
984
 
  </table>
985
 
</dl>
986
 
 
987
 
<p>
988
 
Definition at line <a class="el" href="a00102.html#l01018">1018</a> of file <a class="el" href="a00102.html">bm.h</a>.
989
 
<p>
990
 
References <a class="el" href="a00102.html#l00983">bm::bvector&lt; Alloc, MS &gt;::set()</a>.    </td>
991
 
  </tr>
992
 
</table>
993
 
<a class="anchor" name="a62" doxytag="bm::bvector::combine_operation_with_block"></a><p>
994
 
<table class="mdTable" cellpadding="2" cellspacing="0">
995
 
  <tr>
996
 
    <td class="mdRow">
997
 
      <table cellpadding="0" cellspacing="0" border="0">
998
 
        <tr>
999
 
          <td class="mdPrefix" colspan="4">
1000
 
template&lt;class Alloc, class MS&gt; </td>
1001
 
        </tr>
1002
 
        <tr>
1003
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::combine_operation_with_block           </td>
1004
 
          <td class="md" valign="top">(&nbsp;</td>
1005
 
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
1006
 
          <td class="mdname" nowrap> <em>nb</em>, </td>
1007
 
        </tr>
1008
 
        <tr>
1009
 
          <td class="md" nowrap align="right"></td>
1010
 
          <td class="md"></td>
1011
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
1012
 
          <td class="mdname" nowrap> <em>arg_blk</em>, </td>
1013
 
        </tr>
1014
 
        <tr>
1015
 
          <td class="md" nowrap align="right"></td>
1016
 
          <td class="md"></td>
1017
 
          <td class="md" nowrap>int&nbsp;</td>
1018
 
          <td class="mdname" nowrap> <em>arg_gap</em>, </td>
1019
 
        </tr>
1020
 
        <tr>
1021
 
          <td class="md" nowrap align="right"></td>
1022
 
          <td class="md"></td>
1023
 
          <td class="md" nowrap><a class="el" href="a00092.html#a159">bm::operation</a>&nbsp;</td>
1024
 
          <td class="mdname" nowrap> <em>opcode</em></td>
1025
 
        </tr>
1026
 
        <tr>
1027
 
          <td class="md"></td>
1028
 
          <td class="md">)&nbsp;</td>
1029
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1030
 
        </tr>
1031
 
      </table>
1032
 
    </td>
1033
 
  </tr>
1034
 
</table>
1035
 
<table cellspacing="5" cellpadding="0" border="0">
1036
 
  <tr>
1037
 
    <td>
1038
 
      &nbsp;
1039
 
    </td>
1040
 
    <td>
1041
 
 
1042
 
<p>
1043
 
 
1044
 
<p>
1045
 
Definition at line <a class="el" href="a00102.html#l01446">1446</a> of file <a class="el" href="a00102.html">bm.h</a>.
1046
 
<p>
1047
 
References <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, and <a class="el" href="a00102.html#l01416">bm::bvector&lt; Alloc, MS &gt;::get_block()</a>.    </td>
1048
 
  </tr>
1049
 
</table>
1050
 
<a class="anchor" name="a56" doxytag="bm::bvector::compare"></a><p>
1051
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1052
 
  <tr>
1053
 
    <td class="mdRow">
1054
 
      <table cellpadding="0" cellspacing="0" border="0">
1055
 
        <tr>
1056
 
          <td class="mdPrefix" colspan="4">
1057
 
template&lt;typename Alloc, typename MS&gt; </td>
1058
 
        </tr>
1059
 
        <tr>
1060
 
          <td class="md" nowrap valign="top">int <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::compare           </td>
1061
 
          <td class="md" valign="top">(&nbsp;</td>
1062
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
1063
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
1064
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1065
 
          <td class="md" nowrap> const</td>
1066
 
        </tr>
1067
 
      </table>
1068
 
    </td>
1069
 
  </tr>
1070
 
</table>
1071
 
<table cellspacing="5" cellpadding="0" border="0">
1072
 
  <tr>
1073
 
    <td>
1074
 
      &nbsp;
1075
 
    </td>
1076
 
    <td>
1077
 
 
1078
 
<p>
1079
 
Lexicographical comparison with a bitvector. 
1080
 
<p>
1081
 
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. 
1082
 
<p>
1083
 
Definition at line <a class="el" href="a00102.html#l01845">1845</a> of file <a class="el" href="a00102.html">bm.h</a>.
1084
 
<p>
1085
 
References <a class="el" href="a00106.html#l02309">bm::bit_is_all_zero()</a>, <a class="el" href="a00106.html#l01786">bm::bitcmp()</a>, <a class="el" href="a00102.html#l01505">bm::bvector&lt; Alloc, MS &gt;::blockman_</a>, <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, <a class="el" href="a00105.html#l00057">BMGAP_PTR</a>, <a class="el" href="a00106.html#l01456">bm::gap_convert_to_bitset()</a>, <a class="el" href="a00106.html#l01649">bm::gap_is_all_zero()</a>, and <a class="el" href="a00106.html#l00627">bm::gapcmp()</a>.
1086
 
<p>
1087
 
Referenced by <a class="el" href="a00112.html#l00055">main()</a>, <a class="el" href="a00102.html#l00936">bm::bvector&lt; Alloc, MS &gt;::operator!=()</a>, <a class="el" href="a00102.html#l00911">bm::bvector&lt; Alloc, MS &gt;::operator&lt;()</a>, <a class="el" href="a00102.html#l00916">bm::bvector&lt; Alloc, MS &gt;::operator&lt;=()</a>, <a class="el" href="a00102.html#l00931">bm::bvector&lt; Alloc, MS &gt;::operator==()</a>, <a class="el" href="a00102.html#l00921">bm::bvector&lt; Alloc, MS &gt;::operator&gt;()</a>, and <a class="el" href="a00102.html#l00926">bm::bvector&lt; Alloc, MS &gt;::operator&gt;=()</a>.    </td>
1088
 
  </tr>
1089
 
</table>
1090
 
<a class="anchor" name="a26" doxytag="bm::bvector::count"></a><p>
1091
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1092
 
  <tr>
1093
 
    <td class="mdRow">
1094
 
      <table cellpadding="0" cellspacing="0" border="0">
1095
 
        <tr>
1096
 
          <td class="mdPrefix" colspan="4">
1097
 
template&lt;typename Alloc, typename MS&gt; </td>
1098
 
        </tr>
1099
 
        <tr>
1100
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::count           </td>
1101
 
          <td class="md" valign="top">(&nbsp;</td>
1102
 
          <td class="mdname1" valign="top" nowrap>          </td>
1103
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1104
 
          <td class="md" nowrap> const</td>
1105
 
        </tr>
1106
 
      </table>
1107
 
    </td>
1108
 
  </tr>
1109
 
</table>
1110
 
<table cellspacing="5" cellpadding="0" border="0">
1111
 
  <tr>
1112
 
    <td>
1113
 
      &nbsp;
1114
 
    </td>
1115
 
    <td>
1116
 
 
1117
 
<p>
1118
 
Returns count of bits which are 1. 
1119
 
<p>
1120
 
<dl compact><dt><b>Returns:</b></dt><dd>Total number of bits ON. </dd></dl>
1121
 
<dl compact><dt><b>Examples: </b></dt><dd>
1122
 
<a class="el" href="a00040.html#a48">sample7.cpp</a>.</dl>
1123
 
<p>
1124
 
Definition at line <a class="el" href="a00102.html#l01603">1603</a> of file <a class="el" href="a00102.html">bm.h</a>.
1125
 
<p>
1126
 
References <a class="el" href="a00102.html#l00077">BMCOUNT_SET</a>, and <a class="el" href="a00106.html#l00437">bm::for_each_nzblock()</a>.
1127
 
<p>
1128
 
Referenced by <a class="el" href="a00102.html#l01638">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00111.html#l00044">main()</a>, <a class="el" href="a00117.html#l00153">OrSets()</a>, <a class="el" href="a00102.html#l01104">bm::bvector&lt; Alloc, MS &gt;::recalc_count()</a>, <a class="el" href="a00114.html#l00077">serialize_bvector()</a>, and <a class="el" href="a00102.html#l02132">bm::bvector&lt; Alloc, MS &gt;::stat()</a>.    </td>
1129
 
  </tr>
1130
 
</table>
1131
 
<a class="anchor" name="a30" doxytag="bm::bvector::count_blocks"></a><p>
1132
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1133
 
  <tr>
1134
 
    <td class="mdRow">
1135
 
      <table cellpadding="0" cellspacing="0" border="0">
1136
 
        <tr>
1137
 
          <td class="mdPrefix" colspan="4">
1138
 
template&lt;class Alloc, class MS&gt; </td>
1139
 
        </tr>
1140
 
        <tr>
1141
 
          <td class="md" nowrap valign="top">unsigned <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::count_blocks           </td>
1142
 
          <td class="md" valign="top">(&nbsp;</td>
1143
 
          <td class="md" nowrap valign="top">unsigned *&nbsp;</td>
1144
 
          <td class="mdname1" valign="top" nowrap> <em>arr</em>          </td>
1145
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1146
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1147
 
        </tr>
1148
 
      </table>
1149
 
    </td>
1150
 
  </tr>
1151
 
</table>
1152
 
<table cellspacing="5" cellpadding="0" border="0">
1153
 
  <tr>
1154
 
    <td>
1155
 
      &nbsp;
1156
 
    </td>
1157
 
    <td>
1158
 
 
1159
 
<p>
1160
 
Computes bitcount values for all bvector blocks. 
1161
 
<p>
1162
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1163
 
  <table border="0" cellspacing="2" cellpadding="0">
1164
 
    <tr><td valign="top"></td><td valign="top"><em>arr</em>&nbsp;</td><td>- pointer on array of block bit counts </td></tr>
1165
 
  </table>
1166
 
</dl>
1167
 
<dl compact><dt><b>Returns:</b></dt><dd>Index of the last block counted. This number +1 gives you number of arr elements initialized during the function call. </dd></dl>
1168
 
 
1169
 
<p>
1170
 
Definition at line <a class="el" href="a00102.html#l01081">1081</a> of file <a class="el" href="a00102.html">bm.h</a>.
1171
 
<p>
1172
 
References <a class="el" href="a00106.html#l00437">bm::for_each_nzblock()</a>.    </td>
1173
 
  </tr>
1174
 
</table>
1175
 
<a class="anchor" name="a31" doxytag="bm::bvector::count_range"></a><p>
1176
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1177
 
  <tr>
1178
 
    <td class="mdRow">
1179
 
      <table cellpadding="0" cellspacing="0" border="0">
1180
 
        <tr>
1181
 
          <td class="mdPrefix" colspan="4">
1182
 
template&lt;typename Alloc, typename MS&gt; </td>
1183
 
        </tr>
1184
 
        <tr>
1185
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::count_range           </td>
1186
 
          <td class="md" valign="top">(&nbsp;</td>
1187
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1188
 
          <td class="mdname" nowrap> <em>left</em>, </td>
1189
 
        </tr>
1190
 
        <tr>
1191
 
          <td class="md" nowrap align="right"></td>
1192
 
          <td class="md"></td>
1193
 
          <td class="md" nowrap><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1194
 
          <td class="mdname" nowrap> <em>right</em>, </td>
1195
 
        </tr>
1196
 
        <tr>
1197
 
          <td class="md" nowrap align="right"></td>
1198
 
          <td class="md"></td>
1199
 
          <td class="md" nowrap>unsigned *&nbsp;</td>
1200
 
          <td class="mdname" nowrap> <em>block_count_arr</em> = <code>0</code></td>
1201
 
        </tr>
1202
 
        <tr>
1203
 
          <td class="md"></td>
1204
 
          <td class="md">)&nbsp;</td>
1205
 
          <td class="md" colspan="2"> const</td>
1206
 
        </tr>
1207
 
      </table>
1208
 
    </td>
1209
 
  </tr>
1210
 
</table>
1211
 
<table cellspacing="5" cellpadding="0" border="0">
1212
 
  <tr>
1213
 
    <td>
1214
 
      &nbsp;
1215
 
    </td>
1216
 
    <td>
1217
 
 
1218
 
<p>
1219
 
Returns count of 1 bits in the given diapason. 
1220
 
<p>
1221
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1222
 
  <table border="0" cellspacing="2" cellpadding="0">
1223
 
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>- index of first bit start counting from </td></tr>
1224
 
    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>- index of last bit </td></tr>
1225
 
    <tr><td valign="top"></td><td valign="top"><em>block_count_arr</em>&nbsp;</td><td>- optional parameter (bitcount by bvector blocks) calculated by count_blocks method. Used to improve performance of wide range searches </td></tr>
1226
 
  </table>
1227
 
</dl>
1228
 
<dl compact><dt><b>Returns:</b></dt><dd>Total number of bits ON. </dd></dl>
1229
 
 
1230
 
<p>
1231
 
Definition at line <a class="el" href="a00102.html#l01638">1638</a> of file <a class="el" href="a00102.html">bm.h</a>.
1232
 
<p>
1233
 
References <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, <a class="el" href="a00105.html#l00057">BMGAP_PTR</a>, <a class="el" href="a00102.html#l01603">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00106.html#l00579">bm::gap_bit_count_range()</a>, and <a class="el" href="a00102.html#l01416">bm::bvector&lt; Alloc, MS &gt;::get_block()</a>.    </td>
1234
 
  </tr>
1235
 
</table>
1236
 
<a class="anchor" name="a60" doxytag="bm::bvector::end"></a><p>
1237
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1238
 
  <tr>
1239
 
    <td class="mdRow">
1240
 
      <table cellpadding="0" cellspacing="0" border="0">
1241
 
        <tr>
1242
 
          <td class="mdPrefix" colspan="4">
1243
 
template&lt;class Alloc, class MS&gt; </td>
1244
 
        </tr>
1245
 
        <tr>
1246
 
          <td class="md" nowrap valign="top"><a class="el" href="a00050.html">bvector::enumerator</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::end           </td>
1247
 
          <td class="md" valign="top">(&nbsp;</td>
1248
 
          <td class="mdname1" valign="top" nowrap>          </td>
1249
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1250
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1251
 
        </tr>
1252
 
      </table>
1253
 
    </td>
1254
 
  </tr>
1255
 
</table>
1256
 
<table cellspacing="5" cellpadding="0" border="0">
1257
 
  <tr>
1258
 
    <td>
1259
 
      &nbsp;
1260
 
    </td>
1261
 
    <td>
1262
 
 
1263
 
<p>
1264
 
Returns enumerator pointing on the next bit after the last. 
1265
 
<p>
1266
 
<dl compact><dt><b>Examples: </b></dt><dd>
1267
 
<a class="el" href="a00040.html#a45">sample7.cpp</a>.</dl>
1268
 
<p>
1269
 
Definition at line <a class="el" href="a00102.html#l01409">1409</a> of file <a class="el" href="a00102.html">bm.h</a>.
1270
 
<p>
1271
 
Referenced by <a class="el" href="a00117.html#l00121">EnumerateSets()</a>, and <a class="el" href="a00115.html#l00046">main()</a>.    </td>
1272
 
  </tr>
1273
 
</table>
1274
 
<a class="anchor" name="a44" doxytag="bm::bvector::extract_next"></a><p>
1275
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1276
 
  <tr>
1277
 
    <td class="mdRow">
1278
 
      <table cellpadding="0" cellspacing="0" border="0">
1279
 
        <tr>
1280
 
          <td class="mdPrefix" colspan="4">
1281
 
template&lt;class Alloc, class MS&gt; </td>
1282
 
        </tr>
1283
 
        <tr>
1284
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::extract_next           </td>
1285
 
          <td class="md" valign="top">(&nbsp;</td>
1286
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1287
 
          <td class="mdname1" valign="top" nowrap> <em>prev</em>          </td>
1288
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1289
 
          <td class="md" nowrap><code> [inline]</code></td>
1290
 
        </tr>
1291
 
      </table>
1292
 
    </td>
1293
 
  </tr>
1294
 
</table>
1295
 
<table cellspacing="5" cellpadding="0" border="0">
1296
 
  <tr>
1297
 
    <td>
1298
 
      &nbsp;
1299
 
    </td>
1300
 
    <td>
1301
 
 
1302
 
<p>
1303
 
 
1304
 
<p>
1305
 
Definition at line <a class="el" href="a00102.html#l01225">1225</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1306
 
  </tr>
1307
 
</table>
1308
 
<a class="anchor" name="a59" doxytag="bm::bvector::first"></a><p>
1309
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1310
 
  <tr>
1311
 
    <td class="mdRow">
1312
 
      <table cellpadding="0" cellspacing="0" border="0">
1313
 
        <tr>
1314
 
          <td class="mdPrefix" colspan="4">
1315
 
template&lt;class Alloc, class MS&gt; </td>
1316
 
        </tr>
1317
 
        <tr>
1318
 
          <td class="md" nowrap valign="top"><a class="el" href="a00050.html">enumerator</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::first           </td>
1319
 
          <td class="md" valign="top">(&nbsp;</td>
1320
 
          <td class="mdname1" valign="top" nowrap>          </td>
1321
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1322
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1323
 
        </tr>
1324
 
      </table>
1325
 
    </td>
1326
 
  </tr>
1327
 
</table>
1328
 
<table cellspacing="5" cellpadding="0" border="0">
1329
 
  <tr>
1330
 
    <td>
1331
 
      &nbsp;
1332
 
    </td>
1333
 
    <td>
1334
 
 
1335
 
<p>
1336
 
Returns enumerator pointing on the first non-zero bit. 
1337
 
<p>
1338
 
<dl compact><dt><b>Examples: </b></dt><dd>
1339
 
<a class="el" href="a00040.html#a44">sample7.cpp</a>.</dl>
1340
 
<p>
1341
 
Definition at line <a class="el" href="a00102.html#l01399">1399</a> of file <a class="el" href="a00102.html">bm.h</a>.
1342
 
<p>
1343
 
Referenced by <a class="el" href="a00117.html#l00121">EnumerateSets()</a>, and <a class="el" href="a00115.html#l00046">main()</a>.    </td>
1344
 
  </tr>
1345
 
</table>
1346
 
<a class="anchor" name="a40" doxytag="bm::bvector::flip"></a><p>
1347
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1348
 
  <tr>
1349
 
    <td class="mdRow">
1350
 
      <table cellpadding="0" cellspacing="0" border="0">
1351
 
        <tr>
1352
 
          <td class="mdPrefix" colspan="4">
1353
 
template&lt;class Alloc, class MS&gt; </td>
1354
 
        </tr>
1355
 
        <tr>
1356
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::flip           </td>
1357
 
          <td class="md" valign="top">(&nbsp;</td>
1358
 
          <td class="mdname1" valign="top" nowrap>          </td>
1359
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1360
 
          <td class="md" nowrap><code> [inline]</code></td>
1361
 
        </tr>
1362
 
      </table>
1363
 
    </td>
1364
 
  </tr>
1365
 
</table>
1366
 
<table cellspacing="5" cellpadding="0" border="0">
1367
 
  <tr>
1368
 
    <td>
1369
 
      &nbsp;
1370
 
    </td>
1371
 
    <td>
1372
 
 
1373
 
<p>
1374
 
Flips all bits. 
1375
 
<p>
1376
 
<dl compact><dt><b>Returns:</b></dt><dd>*this </dd></dl>
1377
 
 
1378
 
<p>
1379
 
Definition at line <a class="el" href="a00102.html#l01184">1184</a> of file <a class="el" href="a00102.html">bm.h</a>.
1380
 
<p>
1381
 
References <a class="el" href="a00102.html#l01732">bm::bvector&lt; Alloc, MS &gt;::invert()</a>.    </td>
1382
 
  </tr>
1383
 
</table>
1384
 
<a class="anchor" name="a39" doxytag="bm::bvector::flip"></a><p>
1385
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1386
 
  <tr>
1387
 
    <td class="mdRow">
1388
 
      <table cellpadding="0" cellspacing="0" border="0">
1389
 
        <tr>
1390
 
          <td class="mdPrefix" colspan="4">
1391
 
template&lt;class Alloc, class MS&gt; </td>
1392
 
        </tr>
1393
 
        <tr>
1394
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::flip           </td>
1395
 
          <td class="md" valign="top">(&nbsp;</td>
1396
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1397
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
1398
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1399
 
          <td class="md" nowrap><code> [inline]</code></td>
1400
 
        </tr>
1401
 
      </table>
1402
 
    </td>
1403
 
  </tr>
1404
 
</table>
1405
 
<table cellspacing="5" cellpadding="0" border="0">
1406
 
  <tr>
1407
 
    <td>
1408
 
      &nbsp;
1409
 
    </td>
1410
 
    <td>
1411
 
 
1412
 
<p>
1413
 
Flips bit n. 
1414
 
<p>
1415
 
<dl compact><dt><b>Returns:</b></dt><dd>*this </dd></dl>
1416
 
 
1417
 
<p>
1418
 
Definition at line <a class="el" href="a00102.html#l01174">1174</a> of file <a class="el" href="a00102.html">bm.h</a>.
1419
 
<p>
1420
 
References <a class="el" href="a00102.html#l01756">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, and <a class="el" href="a00102.html#l00983">bm::bvector&lt; Alloc, MS &gt;::set()</a>.    </td>
1421
 
  </tr>
1422
 
</table>
1423
 
<a class="anchor" name="a33" doxytag="bm::bvector::forget_count"></a><p>
1424
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1425
 
  <tr>
1426
 
    <td class="mdRow">
1427
 
      <table cellpadding="0" cellspacing="0" border="0">
1428
 
        <tr>
1429
 
          <td class="mdPrefix" colspan="4">
1430
 
template&lt;class Alloc, class MS&gt; </td>
1431
 
        </tr>
1432
 
        <tr>
1433
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::forget_count           </td>
1434
 
          <td class="md" valign="top">(&nbsp;</td>
1435
 
          <td class="mdname1" valign="top" nowrap>          </td>
1436
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1437
 
          <td class="md" nowrap><code> [inline]</code></td>
1438
 
        </tr>
1439
 
      </table>
1440
 
    </td>
1441
 
  </tr>
1442
 
</table>
1443
 
<table cellspacing="5" cellpadding="0" border="0">
1444
 
  <tr>
1445
 
    <td>
1446
 
      &nbsp;
1447
 
    </td>
1448
 
    <td>
1449
 
 
1450
 
<p>
1451
 
Disables count cache. Next call to <a class="el" href="a00048.html#a26">count()</a> or <a class="el" href="a00048.html#a32">recalc_count()</a> restores count caching.<p>
1452
 
<dl compact><dt><b>Note:</b></dt><dd>Works only if BMCOUNTOPT enabled(defined). Othewise does nothing. </dd></dl>
1453
 
 
1454
 
<p>
1455
 
Definition at line <a class="el" href="a00102.html#l01117">1117</a> of file <a class="el" href="a00102.html">bm.h</a>.
1456
 
<p>
1457
 
References <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.    </td>
1458
 
  </tr>
1459
 
</table>
1460
 
<a class="anchor" name="a58" doxytag="bm::bvector::free_tempblock"></a><p>
1461
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1462
 
  <tr>
1463
 
    <td class="mdRow">
1464
 
      <table cellpadding="0" cellspacing="0" border="0">
1465
 
        <tr>
1466
 
          <td class="mdPrefix" colspan="4">
1467
 
template&lt;class Alloc, class MS&gt; </td>
1468
 
        </tr>
1469
 
        <tr>
1470
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::free_tempblock           </td>
1471
 
          <td class="md" valign="top">(&nbsp;</td>
1472
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
1473
 
          <td class="mdname1" valign="top" nowrap> <em>block</em>          </td>
1474
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1475
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1476
 
        </tr>
1477
 
      </table>
1478
 
    </td>
1479
 
  </tr>
1480
 
</table>
1481
 
<table cellspacing="5" cellpadding="0" border="0">
1482
 
  <tr>
1483
 
    <td>
1484
 
      &nbsp;
1485
 
    </td>
1486
 
    <td>
1487
 
 
1488
 
<p>
1489
 
Frees temporary block of memory. 
1490
 
<p>
1491
 
<dl compact><dt><b>Note:</b></dt><dd>method is marked const, but it's not quite true, since it can in some cases modify the state of the block allocator (if it has a state). (Can be important in MT programs).</dd></dl>
1492
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a57">allocate_tempblock</a> </dd></dl>
1493
 
 
1494
 
<p>
1495
 
Definition at line <a class="el" href="a00102.html#l01389">1389</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1496
 
  </tr>
1497
 
</table>
1498
 
<a class="anchor" name="a17" doxytag="bm::bvector::get_allocator"></a><p>
1499
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1500
 
  <tr>
1501
 
    <td class="mdRow">
1502
 
      <table cellpadding="0" cellspacing="0" border="0">
1503
 
        <tr>
1504
 
          <td class="mdPrefix" colspan="4">
1505
 
template&lt;class Alloc, class MS&gt; </td>
1506
 
        </tr>
1507
 
        <tr>
1508
 
          <td class="md" nowrap valign="top">Alloc <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_allocator           </td>
1509
 
          <td class="md" valign="top">(&nbsp;</td>
1510
 
          <td class="mdname1" valign="top" nowrap>          </td>
1511
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1512
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1513
 
        </tr>
1514
 
      </table>
1515
 
    </td>
1516
 
  </tr>
1517
 
</table>
1518
 
<table cellspacing="5" cellpadding="0" border="0">
1519
 
  <tr>
1520
 
    <td>
1521
 
      &nbsp;
1522
 
    </td>
1523
 
    <td>
1524
 
 
1525
 
<p>
1526
 
 
1527
 
<p>
1528
 
Definition at line <a class="el" href="a00102.html#l00946">946</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1529
 
  </tr>
1530
 
</table>
1531
 
<a class="anchor" name="a35" doxytag="bm::bvector::get_bit"></a><p>
1532
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1533
 
  <tr>
1534
 
    <td class="mdRow">
1535
 
      <table cellpadding="0" cellspacing="0" border="0">
1536
 
        <tr>
1537
 
          <td class="mdPrefix" colspan="4">
1538
 
template&lt;typename Alloc, typename MS&gt; </td>
1539
 
        </tr>
1540
 
        <tr>
1541
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_bit           </td>
1542
 
          <td class="md" valign="top">(&nbsp;</td>
1543
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1544
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
1545
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1546
 
          <td class="md" nowrap> const</td>
1547
 
        </tr>
1548
 
      </table>
1549
 
    </td>
1550
 
  </tr>
1551
 
</table>
1552
 
<table cellspacing="5" cellpadding="0" border="0">
1553
 
  <tr>
1554
 
    <td>
1555
 
      &nbsp;
1556
 
    </td>
1557
 
    <td>
1558
 
 
1559
 
<p>
1560
 
returns true if bit n is set and false is bit n is 0. 
1561
 
<p>
1562
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1563
 
  <table border="0" cellspacing="2" cellpadding="0">
1564
 
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- Index of the bit to check. </td></tr>
1565
 
  </table>
1566
 
</dl>
1567
 
<dl compact><dt><b>Returns:</b></dt><dd>Bit value (1 or 0) </dd></dl>
1568
 
 
1569
 
<p>
1570
 
Definition at line <a class="el" href="a00102.html#l01756">1756</a> of file <a class="el" href="a00102.html">bm.h</a>.
1571
 
<p>
1572
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, <a class="el" href="a00105.html#l00057">BMGAP_PTR</a>, <a class="el" href="a00106.html#l00399">bm::gap_test()</a>, and <a class="el" href="a00102.html#l01416">bm::bvector&lt; Alloc, MS &gt;::get_block()</a>.
1573
 
<p>
1574
 
Referenced by <a class="el" href="a00102.html#l01174">bm::bvector&lt; Alloc, MS &gt;::flip()</a>, <a class="el" href="a00102.html#l00885">bm::bvector&lt; Alloc, MS &gt;::operator[]()</a>, and <a class="el" href="a00102.html#l01140">bm::bvector&lt; Alloc, MS &gt;::test()</a>.    </td>
1575
 
  </tr>
1576
 
</table>
1577
 
<a class="anchor" name="a61" doxytag="bm::bvector::get_block"></a><p>
1578
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1579
 
  <tr>
1580
 
    <td class="mdRow">
1581
 
      <table cellpadding="0" cellspacing="0" border="0">
1582
 
        <tr>
1583
 
          <td class="mdPrefix" colspan="4">
1584
 
template&lt;class Alloc, class MS&gt; </td>
1585
 
        </tr>
1586
 
        <tr>
1587
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a>* <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_block           </td>
1588
 
          <td class="md" valign="top">(&nbsp;</td>
1589
 
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
1590
 
          <td class="mdname1" valign="top" nowrap> <em>nb</em>          </td>
1591
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1592
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1593
 
        </tr>
1594
 
      </table>
1595
 
    </td>
1596
 
  </tr>
1597
 
</table>
1598
 
<table cellspacing="5" cellpadding="0" border="0">
1599
 
  <tr>
1600
 
    <td>
1601
 
      &nbsp;
1602
 
    </td>
1603
 
    <td>
1604
 
 
1605
 
<p>
1606
 
 
1607
 
<p>
1608
 
Definition at line <a class="el" href="a00102.html#l01416">1416</a> of file <a class="el" href="a00102.html">bm.h</a>.
1609
 
<p>
1610
 
Referenced by <a class="el" href="a00102.html#l01446">bm::bvector&lt; Alloc, MS &gt;::combine_operation_with_block()</a>, <a class="el" href="a00102.html#l01638">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00102.html#l01756">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, and <a class="el" href="a00102.html#l02132">bm::bvector&lt; Alloc, MS &gt;::stat()</a>.    </td>
1611
 
  </tr>
1612
 
</table>
1613
 
<a class="anchor" name="a64" doxytag="bm::bvector::get_blocks_manager"></a><p>
1614
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1615
 
  <tr>
1616
 
    <td class="mdRow">
1617
 
      <table cellpadding="0" cellspacing="0" border="0">
1618
 
        <tr>
1619
 
          <td class="mdPrefix" colspan="4">
1620
 
template&lt;class Alloc, class MS&gt; </td>
1621
 
        </tr>
1622
 
        <tr>
1623
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html#w1">blocks_manager_type</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_blocks_manager           </td>
1624
 
          <td class="md" valign="top">(&nbsp;</td>
1625
 
          <td class="mdname1" valign="top" nowrap>          </td>
1626
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1627
 
          <td class="md" nowrap><code> [inline]</code></td>
1628
 
        </tr>
1629
 
      </table>
1630
 
    </td>
1631
 
  </tr>
1632
 
</table>
1633
 
<table cellspacing="5" cellpadding="0" border="0">
1634
 
  <tr>
1635
 
    <td>
1636
 
      &nbsp;
1637
 
    </td>
1638
 
    <td>
1639
 
 
1640
 
<p>
1641
 
 
1642
 
<p>
1643
 
Definition at line <a class="el" href="a00102.html#l01490">1490</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1644
 
  </tr>
1645
 
</table>
1646
 
<a class="anchor" name="a63" doxytag="bm::bvector::get_blocks_manager"></a><p>
1647
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1648
 
  <tr>
1649
 
    <td class="mdRow">
1650
 
      <table cellpadding="0" cellspacing="0" border="0">
1651
 
        <tr>
1652
 
          <td class="mdPrefix" colspan="4">
1653
 
template&lt;class Alloc, class MS&gt; </td>
1654
 
        </tr>
1655
 
        <tr>
1656
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html#w1">blocks_manager_type</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_blocks_manager           </td>
1657
 
          <td class="md" valign="top">(&nbsp;</td>
1658
 
          <td class="mdname1" valign="top" nowrap>          </td>
1659
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1660
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1661
 
        </tr>
1662
 
      </table>
1663
 
    </td>
1664
 
  </tr>
1665
 
</table>
1666
 
<table cellspacing="5" cellpadding="0" border="0">
1667
 
  <tr>
1668
 
    <td>
1669
 
      &nbsp;
1670
 
    </td>
1671
 
    <td>
1672
 
 
1673
 
<p>
1674
 
 
1675
 
<p>
1676
 
Definition at line <a class="el" href="a00102.html#l01485">1485</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1677
 
  </tr>
1678
 
</table>
1679
 
<a class="anchor" name="a42" doxytag="bm::bvector::get_first"></a><p>
1680
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1681
 
  <tr>
1682
 
    <td class="mdRow">
1683
 
      <table cellpadding="0" cellspacing="0" border="0">
1684
 
        <tr>
1685
 
          <td class="mdPrefix" colspan="4">
1686
 
template&lt;class Alloc, class MS&gt; </td>
1687
 
        </tr>
1688
 
        <tr>
1689
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_first           </td>
1690
 
          <td class="md" valign="top">(&nbsp;</td>
1691
 
          <td class="mdname1" valign="top" nowrap>          </td>
1692
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1693
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1694
 
        </tr>
1695
 
      </table>
1696
 
    </td>
1697
 
  </tr>
1698
 
</table>
1699
 
<table cellspacing="5" cellpadding="0" border="0">
1700
 
  <tr>
1701
 
    <td>
1702
 
      &nbsp;
1703
 
    </td>
1704
 
    <td>
1705
 
 
1706
 
<p>
1707
 
Gets number of first bit which is ON. 
1708
 
<p>
1709
 
<dl compact><dt><b>Returns:</b></dt><dd>Index of the first 1 bit. </dd></dl>
1710
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a43">get_next</a> </dd></dl>
1711
 
 
1712
 
<p>
1713
 
Definition at line <a class="el" href="a00102.html#l01211">1211</a> of file <a class="el" href="a00102.html">bm.h</a>.
1714
 
<p>
1715
 
Referenced by <a class="el" href="a00111.html#l00044">main()</a>.    </td>
1716
 
  </tr>
1717
 
</table>
1718
 
<a class="anchor" name="a51" doxytag="bm::bvector::get_new_blocks_strat"></a><p>
1719
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1720
 
  <tr>
1721
 
    <td class="mdRow">
1722
 
      <table cellpadding="0" cellspacing="0" border="0">
1723
 
        <tr>
1724
 
          <td class="mdPrefix" colspan="4">
1725
 
template&lt;class Alloc, class MS&gt; </td>
1726
 
        </tr>
1727
 
        <tr>
1728
 
          <td class="md" nowrap valign="top"><a class="el" href="a00095.html#ga0">strategy</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_new_blocks_strat           </td>
1729
 
          <td class="md" valign="top">(&nbsp;</td>
1730
 
          <td class="mdname1" valign="top" nowrap>          </td>
1731
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1732
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1733
 
        </tr>
1734
 
      </table>
1735
 
    </td>
1736
 
  </tr>
1737
 
</table>
1738
 
<table cellspacing="5" cellpadding="0" border="0">
1739
 
  <tr>
1740
 
    <td>
1741
 
      &nbsp;
1742
 
    </td>
1743
 
    <td>
1744
 
 
1745
 
<p>
1746
 
Returns blocks allocation strategy. 
1747
 
<p>
1748
 
<dl compact><dt><b>Returns:</b></dt><dd>- Strategy code 0 - bitblocks allocation only. 1 - Blocks mutation mode (adaptive algorithm) </dd></dl>
1749
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a50">set_new_blocks_strat</a> </dd></dl>
1750
 
 
1751
 
<p>
1752
 
Definition at line <a class="el" href="a00102.html#l01305">1305</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
1753
 
  </tr>
1754
 
</table>
1755
 
<a class="anchor" name="a43" doxytag="bm::bvector::get_next"></a><p>
1756
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1757
 
  <tr>
1758
 
    <td class="mdRow">
1759
 
      <table cellpadding="0" cellspacing="0" border="0">
1760
 
        <tr>
1761
 
          <td class="mdPrefix" colspan="4">
1762
 
template&lt;class Alloc, class MS&gt; </td>
1763
 
        </tr>
1764
 
        <tr>
1765
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::get_next           </td>
1766
 
          <td class="md" valign="top">(&nbsp;</td>
1767
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
1768
 
          <td class="mdname1" valign="top" nowrap> <em>prev</em>          </td>
1769
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1770
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1771
 
        </tr>
1772
 
      </table>
1773
 
    </td>
1774
 
  </tr>
1775
 
</table>
1776
 
<table cellspacing="5" cellpadding="0" border="0">
1777
 
  <tr>
1778
 
    <td>
1779
 
      &nbsp;
1780
 
    </td>
1781
 
    <td>
1782
 
 
1783
 
<p>
1784
 
Finds the number of the next bit ON. 
1785
 
<p>
1786
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1787
 
  <table border="0" cellspacing="2" cellpadding="0">
1788
 
    <tr><td valign="top"></td><td valign="top"><em>prev</em>&nbsp;</td><td>- Index of the previously found bit. </td></tr>
1789
 
  </table>
1790
 
</dl>
1791
 
<dl compact><dt><b>Returns:</b></dt><dd>Index of the next bit which is ON or 0 if not found. </dd></dl>
1792
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#a42">get_first</a> </dd></dl>
1793
 
 
1794
 
<p>
1795
 
Definition at line <a class="el" href="a00102.html#l01220">1220</a> of file <a class="el" href="a00102.html">bm.h</a>.
1796
 
<p>
1797
 
Referenced by <a class="el" href="a00111.html#l00044">main()</a>.    </td>
1798
 
  </tr>
1799
 
</table>
1800
 
<a class="anchor" name="a22" doxytag="bm::bvector::inserter"></a><p>
1801
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1802
 
  <tr>
1803
 
    <td class="mdRow">
1804
 
      <table cellpadding="0" cellspacing="0" border="0">
1805
 
        <tr>
1806
 
          <td class="mdPrefix" colspan="4">
1807
 
template&lt;class Alloc, class MS&gt; </td>
1808
 
        </tr>
1809
 
        <tr>
1810
 
          <td class="md" nowrap valign="top"><a class="el" href="a00051.html">insert_iterator</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::inserter           </td>
1811
 
          <td class="md" valign="top">(&nbsp;</td>
1812
 
          <td class="mdname1" valign="top" nowrap>          </td>
1813
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1814
 
          <td class="md" nowrap><code> [inline]</code></td>
1815
 
        </tr>
1816
 
      </table>
1817
 
    </td>
1818
 
  </tr>
1819
 
</table>
1820
 
<table cellspacing="5" cellpadding="0" border="0">
1821
 
  <tr>
1822
 
    <td>
1823
 
      &nbsp;
1824
 
    </td>
1825
 
    <td>
1826
 
 
1827
 
<p>
1828
 
Function erturns insert iterator for this bitvector 
1829
 
<p>
1830
 
Definition at line <a class="el" href="a00102.html#l01008">1008</a> of file <a class="el" href="a00102.html">bm.h</a>.
1831
 
<p>
1832
 
Referenced by <a class="el" href="a00118.html#l00069">main()</a>.    </td>
1833
 
  </tr>
1834
 
</table>
1835
 
<a class="anchor" name="a34" doxytag="bm::bvector::invert"></a><p>
1836
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1837
 
  <tr>
1838
 
    <td class="mdRow">
1839
 
      <table cellpadding="0" cellspacing="0" border="0">
1840
 
        <tr>
1841
 
          <td class="mdPrefix" colspan="4">
1842
 
template&lt;typename Alloc, typename MS&gt; </td>
1843
 
        </tr>
1844
 
        <tr>
1845
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::invert           </td>
1846
 
          <td class="md" valign="top">(&nbsp;</td>
1847
 
          <td class="mdname1" valign="top" nowrap>          </td>
1848
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1849
 
          <td class="md" nowrap></td>
1850
 
        </tr>
1851
 
      </table>
1852
 
    </td>
1853
 
  </tr>
1854
 
</table>
1855
 
<table cellspacing="5" cellpadding="0" border="0">
1856
 
  <tr>
1857
 
    <td>
1858
 
      &nbsp;
1859
 
    </td>
1860
 
    <td>
1861
 
 
1862
 
<p>
1863
 
Inverts all bits. 
1864
 
<p>
1865
 
 
1866
 
<p>
1867
 
Definition at line <a class="el" href="a00102.html#l01732">1732</a> of file <a class="el" href="a00102.html">bm.h</a>.
1868
 
<p>
1869
 
References <a class="el" href="a00105.html#l00093">BM_SET_MMX_GUARD</a>, <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>, and <a class="el" href="a00106.html#l00488">bm::for_each_block()</a>.
1870
 
<p>
1871
 
Referenced by <a class="el" href="a00102.html#l01184">bm::bvector&lt; Alloc, MS &gt;::flip()</a>.    </td>
1872
 
  </tr>
1873
 
</table>
1874
 
<a class="anchor" name="a38" doxytag="bm::bvector::none"></a><p>
1875
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1876
 
  <tr>
1877
 
    <td class="mdRow">
1878
 
      <table cellpadding="0" cellspacing="0" border="0">
1879
 
        <tr>
1880
 
          <td class="mdPrefix" colspan="4">
1881
 
template&lt;class Alloc, class MS&gt; </td>
1882
 
        </tr>
1883
 
        <tr>
1884
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::none           </td>
1885
 
          <td class="md" valign="top">(&nbsp;</td>
1886
 
          <td class="mdname1" valign="top" nowrap>          </td>
1887
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1888
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1889
 
        </tr>
1890
 
      </table>
1891
 
    </td>
1892
 
  </tr>
1893
 
</table>
1894
 
<table cellspacing="5" cellpadding="0" border="0">
1895
 
  <tr>
1896
 
    <td>
1897
 
      &nbsp;
1898
 
    </td>
1899
 
    <td>
1900
 
 
1901
 
<p>
1902
 
Returns true if no bits are set, otherwise returns false. 
1903
 
<p>
1904
 
 
1905
 
<p>
1906
 
Definition at line <a class="el" href="a00102.html#l01165">1165</a> of file <a class="el" href="a00102.html">bm.h</a>.
1907
 
<p>
1908
 
References <a class="el" href="a00102.html#l01149">bm::bvector&lt; Alloc, MS &gt;::any()</a>.    </td>
1909
 
  </tr>
1910
 
</table>
1911
 
<a class="anchor" name="a6" doxytag="bm::bvector::operator &="></a><p>
1912
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1913
 
  <tr>
1914
 
    <td class="mdRow">
1915
 
      <table cellpadding="0" cellspacing="0" border="0">
1916
 
        <tr>
1917
 
          <td class="mdPrefix" colspan="4">
1918
 
template&lt;class Alloc, class MS&gt; </td>
1919
 
        </tr>
1920
 
        <tr>
1921
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator &amp;=           </td>
1922
 
          <td class="md" valign="top">(&nbsp;</td>
1923
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
1924
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
1925
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1926
 
          <td class="md" nowrap><code> [inline]</code></td>
1927
 
        </tr>
1928
 
      </table>
1929
 
    </td>
1930
 
  </tr>
1931
 
</table>
1932
 
<table cellspacing="5" cellpadding="0" border="0">
1933
 
  <tr>
1934
 
    <td>
1935
 
      &nbsp;
1936
 
    </td>
1937
 
    <td>
1938
 
 
1939
 
<p>
1940
 
 
1941
 
<p>
1942
 
Definition at line <a class="el" href="a00102.html#l00891">891</a> of file <a class="el" href="a00102.html">bm.h</a>.
1943
 
<p>
1944
 
References <a class="el" href="a00102.html#l01259">bm::bvector&lt; Alloc, MS &gt;::bit_and()</a>.    </td>
1945
 
  </tr>
1946
 
</table>
1947
 
<a class="anchor" name="a15" doxytag="bm::bvector::operator!="></a><p>
1948
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1949
 
  <tr>
1950
 
    <td class="mdRow">
1951
 
      <table cellpadding="0" cellspacing="0" border="0">
1952
 
        <tr>
1953
 
          <td class="mdPrefix" colspan="4">
1954
 
template&lt;class Alloc, class MS&gt; </td>
1955
 
        </tr>
1956
 
        <tr>
1957
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator!=           </td>
1958
 
          <td class="md" valign="top">(&nbsp;</td>
1959
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
1960
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
1961
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1962
 
          <td class="md" nowrap> const<code> [inline]</code></td>
1963
 
        </tr>
1964
 
      </table>
1965
 
    </td>
1966
 
  </tr>
1967
 
</table>
1968
 
<table cellspacing="5" cellpadding="0" border="0">
1969
 
  <tr>
1970
 
    <td>
1971
 
      &nbsp;
1972
 
    </td>
1973
 
    <td>
1974
 
 
1975
 
<p>
1976
 
 
1977
 
<p>
1978
 
Definition at line <a class="el" href="a00102.html#l00936">936</a> of file <a class="el" href="a00102.html">bm.h</a>.
1979
 
<p>
1980
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
1981
 
  </tr>
1982
 
</table>
1983
 
<a class="anchor" name="a9" doxytag="bm::bvector::operator-="></a><p>
1984
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1985
 
  <tr>
1986
 
    <td class="mdRow">
1987
 
      <table cellpadding="0" cellspacing="0" border="0">
1988
 
        <tr>
1989
 
          <td class="mdPrefix" colspan="4">
1990
 
template&lt;class Alloc, class MS&gt; </td>
1991
 
        </tr>
1992
 
        <tr>
1993
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator-=           </td>
1994
 
          <td class="md" valign="top">(&nbsp;</td>
1995
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
1996
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
1997
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1998
 
          <td class="md" nowrap><code> [inline]</code></td>
1999
 
        </tr>
2000
 
      </table>
2001
 
    </td>
2002
 
  </tr>
2003
 
</table>
2004
 
<table cellspacing="5" cellpadding="0" border="0">
2005
 
  <tr>
2006
 
    <td>
2007
 
      &nbsp;
2008
 
    </td>
2009
 
    <td>
2010
 
 
2011
 
<p>
2012
 
 
2013
 
<p>
2014
 
Definition at line <a class="el" href="a00102.html#l00906">906</a> of file <a class="el" href="a00102.html">bm.h</a>.
2015
 
<p>
2016
 
References <a class="el" href="a00102.html#l01281">bm::bvector&lt; Alloc, MS &gt;::bit_sub()</a>.    </td>
2017
 
  </tr>
2018
 
</table>
2019
 
<a class="anchor" name="a10" doxytag="bm::bvector::operator<"></a><p>
2020
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2021
 
  <tr>
2022
 
    <td class="mdRow">
2023
 
      <table cellpadding="0" cellspacing="0" border="0">
2024
 
        <tr>
2025
 
          <td class="mdPrefix" colspan="4">
2026
 
template&lt;class Alloc, class MS&gt; </td>
2027
 
        </tr>
2028
 
        <tr>
2029
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator&lt;           </td>
2030
 
          <td class="md" valign="top">(&nbsp;</td>
2031
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2032
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2033
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2034
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2035
 
        </tr>
2036
 
      </table>
2037
 
    </td>
2038
 
  </tr>
2039
 
</table>
2040
 
<table cellspacing="5" cellpadding="0" border="0">
2041
 
  <tr>
2042
 
    <td>
2043
 
      &nbsp;
2044
 
    </td>
2045
 
    <td>
2046
 
 
2047
 
<p>
2048
 
 
2049
 
<p>
2050
 
Definition at line <a class="el" href="a00102.html#l00911">911</a> of file <a class="el" href="a00102.html">bm.h</a>.
2051
 
<p>
2052
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
2053
 
  </tr>
2054
 
</table>
2055
 
<a class="anchor" name="a11" doxytag="bm::bvector::operator<="></a><p>
2056
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2057
 
  <tr>
2058
 
    <td class="mdRow">
2059
 
      <table cellpadding="0" cellspacing="0" border="0">
2060
 
        <tr>
2061
 
          <td class="mdPrefix" colspan="4">
2062
 
template&lt;class Alloc, class MS&gt; </td>
2063
 
        </tr>
2064
 
        <tr>
2065
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator&lt;=           </td>
2066
 
          <td class="md" valign="top">(&nbsp;</td>
2067
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2068
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2069
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2070
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2071
 
        </tr>
2072
 
      </table>
2073
 
    </td>
2074
 
  </tr>
2075
 
</table>
2076
 
<table cellspacing="5" cellpadding="0" border="0">
2077
 
  <tr>
2078
 
    <td>
2079
 
      &nbsp;
2080
 
    </td>
2081
 
    <td>
2082
 
 
2083
 
<p>
2084
 
 
2085
 
<p>
2086
 
Definition at line <a class="el" href="a00102.html#l00916">916</a> of file <a class="el" href="a00102.html">bm.h</a>.
2087
 
<p>
2088
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
2089
 
  </tr>
2090
 
</table>
2091
 
<a class="anchor" name="a3" doxytag="bm::bvector::operator="></a><p>
2092
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2093
 
  <tr>
2094
 
    <td class="mdRow">
2095
 
      <table cellpadding="0" cellspacing="0" border="0">
2096
 
        <tr>
2097
 
          <td class="mdPrefix" colspan="4">
2098
 
template&lt;class Alloc, class MS&gt; </td>
2099
 
        </tr>
2100
 
        <tr>
2101
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator=           </td>
2102
 
          <td class="md" valign="top">(&nbsp;</td>
2103
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2104
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2105
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2106
 
          <td class="md" nowrap><code> [inline]</code></td>
2107
 
        </tr>
2108
 
      </table>
2109
 
    </td>
2110
 
  </tr>
2111
 
</table>
2112
 
<table cellspacing="5" cellpadding="0" border="0">
2113
 
  <tr>
2114
 
    <td>
2115
 
      &nbsp;
2116
 
    </td>
2117
 
    <td>
2118
 
 
2119
 
<p>
2120
 
 
2121
 
<p>
2122
 
Definition at line <a class="el" href="a00102.html#l00870">870</a> of file <a class="el" href="a00102.html">bm.h</a>.
2123
 
<p>
2124
 
References <a class="el" href="a00102.html#l01248">bm::bvector&lt; Alloc, MS &gt;::bit_or()</a>, <a class="el" href="a00102.html#l01030">bm::bvector&lt; Alloc, MS &gt;::clear()</a>, and <a class="el" href="a00102.html#l01620">bm::bvector&lt; Alloc, MS &gt;::resize()</a>.    </td>
2125
 
  </tr>
2126
 
</table>
2127
 
<a class="anchor" name="a14" doxytag="bm::bvector::operator=="></a><p>
2128
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2129
 
  <tr>
2130
 
    <td class="mdRow">
2131
 
      <table cellpadding="0" cellspacing="0" border="0">
2132
 
        <tr>
2133
 
          <td class="mdPrefix" colspan="4">
2134
 
template&lt;class Alloc, class MS&gt; </td>
2135
 
        </tr>
2136
 
        <tr>
2137
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator==           </td>
2138
 
          <td class="md" valign="top">(&nbsp;</td>
2139
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2140
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2141
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2142
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2143
 
        </tr>
2144
 
      </table>
2145
 
    </td>
2146
 
  </tr>
2147
 
</table>
2148
 
<table cellspacing="5" cellpadding="0" border="0">
2149
 
  <tr>
2150
 
    <td>
2151
 
      &nbsp;
2152
 
    </td>
2153
 
    <td>
2154
 
 
2155
 
<p>
2156
 
 
2157
 
<p>
2158
 
Definition at line <a class="el" href="a00102.html#l00931">931</a> of file <a class="el" href="a00102.html">bm.h</a>.
2159
 
<p>
2160
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
2161
 
  </tr>
2162
 
</table>
2163
 
<a class="anchor" name="a12" doxytag="bm::bvector::operator>"></a><p>
2164
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2165
 
  <tr>
2166
 
    <td class="mdRow">
2167
 
      <table cellpadding="0" cellspacing="0" border="0">
2168
 
        <tr>
2169
 
          <td class="mdPrefix" colspan="4">
2170
 
template&lt;class Alloc, class MS&gt; </td>
2171
 
        </tr>
2172
 
        <tr>
2173
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator&gt;           </td>
2174
 
          <td class="md" valign="top">(&nbsp;</td>
2175
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2176
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2177
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2178
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2179
 
        </tr>
2180
 
      </table>
2181
 
    </td>
2182
 
  </tr>
2183
 
</table>
2184
 
<table cellspacing="5" cellpadding="0" border="0">
2185
 
  <tr>
2186
 
    <td>
2187
 
      &nbsp;
2188
 
    </td>
2189
 
    <td>
2190
 
 
2191
 
<p>
2192
 
 
2193
 
<p>
2194
 
Definition at line <a class="el" href="a00102.html#l00921">921</a> of file <a class="el" href="a00102.html">bm.h</a>.
2195
 
<p>
2196
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
2197
 
  </tr>
2198
 
</table>
2199
 
<a class="anchor" name="a13" doxytag="bm::bvector::operator>="></a><p>
2200
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2201
 
  <tr>
2202
 
    <td class="mdRow">
2203
 
      <table cellpadding="0" cellspacing="0" border="0">
2204
 
        <tr>
2205
 
          <td class="mdPrefix" colspan="4">
2206
 
template&lt;class Alloc, class MS&gt; </td>
2207
 
        </tr>
2208
 
        <tr>
2209
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator&gt;=           </td>
2210
 
          <td class="md" valign="top">(&nbsp;</td>
2211
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2212
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2213
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2214
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2215
 
        </tr>
2216
 
      </table>
2217
 
    </td>
2218
 
  </tr>
2219
 
</table>
2220
 
<table cellspacing="5" cellpadding="0" border="0">
2221
 
  <tr>
2222
 
    <td>
2223
 
      &nbsp;
2224
 
    </td>
2225
 
    <td>
2226
 
 
2227
 
<p>
2228
 
 
2229
 
<p>
2230
 
Definition at line <a class="el" href="a00102.html#l00926">926</a> of file <a class="el" href="a00102.html">bm.h</a>.
2231
 
<p>
2232
 
References <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
2233
 
  </tr>
2234
 
</table>
2235
 
<a class="anchor" name="a5" doxytag="bm::bvector::operator[]"></a><p>
2236
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2237
 
  <tr>
2238
 
    <td class="mdRow">
2239
 
      <table cellpadding="0" cellspacing="0" border="0">
2240
 
        <tr>
2241
 
          <td class="mdPrefix" colspan="4">
2242
 
template&lt;class Alloc, class MS&gt; </td>
2243
 
        </tr>
2244
 
        <tr>
2245
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator[]           </td>
2246
 
          <td class="md" valign="top">(&nbsp;</td>
2247
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2248
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
2249
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2250
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2251
 
        </tr>
2252
 
      </table>
2253
 
    </td>
2254
 
  </tr>
2255
 
</table>
2256
 
<table cellspacing="5" cellpadding="0" border="0">
2257
 
  <tr>
2258
 
    <td>
2259
 
      &nbsp;
2260
 
    </td>
2261
 
    <td>
2262
 
 
2263
 
<p>
2264
 
 
2265
 
<p>
2266
 
Definition at line <a class="el" href="a00102.html#l00885">885</a> of file <a class="el" href="a00102.html">bm.h</a>.
2267
 
<p>
2268
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, and <a class="el" href="a00102.html#l01756">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>.    </td>
2269
 
  </tr>
2270
 
</table>
2271
 
<a class="anchor" name="a4" doxytag="bm::bvector::operator[]"></a><p>
2272
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2273
 
  <tr>
2274
 
    <td class="mdRow">
2275
 
      <table cellpadding="0" cellspacing="0" border="0">
2276
 
        <tr>
2277
 
          <td class="mdPrefix" colspan="4">
2278
 
template&lt;class Alloc, class MS&gt; </td>
2279
 
        </tr>
2280
 
        <tr>
2281
 
          <td class="md" nowrap valign="top"><a class="el" href="a00056.html">reference</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator[]           </td>
2282
 
          <td class="md" valign="top">(&nbsp;</td>
2283
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2284
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
2285
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2286
 
          <td class="md" nowrap><code> [inline]</code></td>
2287
 
        </tr>
2288
 
      </table>
2289
 
    </td>
2290
 
  </tr>
2291
 
</table>
2292
 
<table cellspacing="5" cellpadding="0" border="0">
2293
 
  <tr>
2294
 
    <td>
2295
 
      &nbsp;
2296
 
    </td>
2297
 
    <td>
2298
 
 
2299
 
<p>
2300
 
 
2301
 
<p>
2302
 
Definition at line <a class="el" href="a00102.html#l00878">878</a> of file <a class="el" href="a00102.html">bm.h</a>.
2303
 
<p>
2304
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.    </td>
2305
 
  </tr>
2306
 
</table>
2307
 
<a class="anchor" name="a7" doxytag="bm::bvector::operator^="></a><p>
2308
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2309
 
  <tr>
2310
 
    <td class="mdRow">
2311
 
      <table cellpadding="0" cellspacing="0" border="0">
2312
 
        <tr>
2313
 
          <td class="mdPrefix" colspan="4">
2314
 
template&lt;class Alloc, class MS&gt; </td>
2315
 
        </tr>
2316
 
        <tr>
2317
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator^=           </td>
2318
 
          <td class="md" valign="top">(&nbsp;</td>
2319
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2320
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2321
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2322
 
          <td class="md" nowrap><code> [inline]</code></td>
2323
 
        </tr>
2324
 
      </table>
2325
 
    </td>
2326
 
  </tr>
2327
 
</table>
2328
 
<table cellspacing="5" cellpadding="0" border="0">
2329
 
  <tr>
2330
 
    <td>
2331
 
      &nbsp;
2332
 
    </td>
2333
 
    <td>
2334
 
 
2335
 
<p>
2336
 
 
2337
 
<p>
2338
 
Definition at line <a class="el" href="a00102.html#l00896">896</a> of file <a class="el" href="a00102.html">bm.h</a>.
2339
 
<p>
2340
 
References <a class="el" href="a00102.html#l01270">bm::bvector&lt; Alloc, MS &gt;::bit_xor()</a>.    </td>
2341
 
  </tr>
2342
 
</table>
2343
 
<a class="anchor" name="a8" doxytag="bm::bvector::operator|="></a><p>
2344
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2345
 
  <tr>
2346
 
    <td class="mdRow">
2347
 
      <table cellpadding="0" cellspacing="0" border="0">
2348
 
        <tr>
2349
 
          <td class="mdPrefix" colspan="4">
2350
 
template&lt;class Alloc, class MS&gt; </td>
2351
 
        </tr>
2352
 
        <tr>
2353
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator|=           </td>
2354
 
          <td class="md" valign="top">(&nbsp;</td>
2355
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2356
 
          <td class="mdname1" valign="top" nowrap> <em>bvect</em>          </td>
2357
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2358
 
          <td class="md" nowrap><code> [inline]</code></td>
2359
 
        </tr>
2360
 
      </table>
2361
 
    </td>
2362
 
  </tr>
2363
 
</table>
2364
 
<table cellspacing="5" cellpadding="0" border="0">
2365
 
  <tr>
2366
 
    <td>
2367
 
      &nbsp;
2368
 
    </td>
2369
 
    <td>
2370
 
 
2371
 
<p>
2372
 
 
2373
 
<p>
2374
 
Definition at line <a class="el" href="a00102.html#l00901">901</a> of file <a class="el" href="a00102.html">bm.h</a>.
2375
 
<p>
2376
 
References <a class="el" href="a00102.html#l01248">bm::bvector&lt; Alloc, MS &gt;::bit_or()</a>.    </td>
2377
 
  </tr>
2378
 
</table>
2379
 
<a class="anchor" name="a16" doxytag="bm::bvector::operator~"></a><p>
2380
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2381
 
  <tr>
2382
 
    <td class="mdRow">
2383
 
      <table cellpadding="0" cellspacing="0" border="0">
2384
 
        <tr>
2385
 
          <td class="mdPrefix" colspan="4">
2386
 
template&lt;class Alloc, class MS&gt; </td>
2387
 
        </tr>
2388
 
        <tr>
2389
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::operator~           </td>
2390
 
          <td class="md" valign="top">(&nbsp;</td>
2391
 
          <td class="mdname1" valign="top" nowrap>          </td>
2392
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2393
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2394
 
        </tr>
2395
 
      </table>
2396
 
    </td>
2397
 
  </tr>
2398
 
</table>
2399
 
<table cellspacing="5" cellpadding="0" border="0">
2400
 
  <tr>
2401
 
    <td>
2402
 
      &nbsp;
2403
 
    </td>
2404
 
    <td>
2405
 
 
2406
 
<p>
2407
 
 
2408
 
<p>
2409
 
Definition at line <a class="el" href="a00102.html#l00941">941</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
2410
 
  </tr>
2411
 
</table>
2412
 
<a class="anchor" name="a53" doxytag="bm::bvector::optimize"></a><p>
2413
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2414
 
  <tr>
2415
 
    <td class="mdRow">
2416
 
      <table cellpadding="0" cellspacing="0" border="0">
2417
 
        <tr>
2418
 
          <td class="mdPrefix" colspan="4">
2419
 
template&lt;typename Alloc, typename MS&gt; </td>
2420
 
        </tr>
2421
 
        <tr>
2422
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::optimize           </td>
2423
 
          <td class="md" valign="top">(&nbsp;</td>
2424
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
2425
 
          <td class="mdname" nowrap> <em>temp_block</em> = <code>0</code>, </td>
2426
 
        </tr>
2427
 
        <tr>
2428
 
          <td class="md" nowrap align="right"></td>
2429
 
          <td class="md"></td>
2430
 
          <td class="md" nowrap><a class="el" href="a00048.html#w7">optmode</a>&nbsp;</td>
2431
 
          <td class="mdname" nowrap> <em>opt_mode</em> = <code>opt_compress</code></td>
2432
 
        </tr>
2433
 
        <tr>
2434
 
          <td class="md"></td>
2435
 
          <td class="md">)&nbsp;</td>
2436
 
          <td class="md" colspan="2"></td>
2437
 
        </tr>
2438
 
      </table>
2439
 
    </td>
2440
 
  </tr>
2441
 
</table>
2442
 
<table cellspacing="5" cellpadding="0" border="0">
2443
 
  <tr>
2444
 
    <td>
2445
 
      &nbsp;
2446
 
    </td>
2447
 
    <td>
2448
 
 
2449
 
<p>
2450
 
Optimize memory bitvector's memory allocation. 
2451
 
<p>
2452
 
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>
2453
 
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00048.html#w7">optmode</a>, <a class="el" href="a00048.html#a54">optimize_gap_size</a> </dd></dl>
2454
 
 
2455
 
<p>
2456
 
Definition at line <a class="el" href="a00102.html#l01790">1790</a> of file <a class="el" href="a00102.html">bm.h</a>.
2457
 
<p>
2458
 
References <a class="el" href="a00106.html#l00437">bm::for_each_nzblock()</a>.
2459
 
<p>
2460
 
Referenced by <a class="el" href="a00113.html#l00075">main()</a>, and <a class="el" href="a00114.html#l00077">serialize_bvector()</a>.    </td>
2461
 
  </tr>
2462
 
</table>
2463
 
<a class="anchor" name="a54" doxytag="bm::bvector::optimize_gap_size"></a><p>
2464
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2465
 
  <tr>
2466
 
    <td class="mdRow">
2467
 
      <table cellpadding="0" cellspacing="0" border="0">
2468
 
        <tr>
2469
 
          <td class="mdPrefix" colspan="4">
2470
 
template&lt;typename Alloc, typename MS&gt; </td>
2471
 
        </tr>
2472
 
        <tr>
2473
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::optimize_gap_size           </td>
2474
 
          <td class="md" valign="top">(&nbsp;</td>
2475
 
          <td class="mdname1" valign="top" nowrap>          </td>
2476
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2477
 
          <td class="md" nowrap></td>
2478
 
        </tr>
2479
 
      </table>
2480
 
    </td>
2481
 
  </tr>
2482
 
</table>
2483
 
<table cellspacing="5" cellpadding="0" border="0">
2484
 
  <tr>
2485
 
    <td>
2486
 
      &nbsp;
2487
 
    </td>
2488
 
    <td>
2489
 
 
2490
 
<p>
2491
 
Optimize sizes of GAP blocks. 
2492
 
<p>
2493
 
This method runs an analysis to find optimal GAP levels for the specific vector. Current GAP compression algorithm uses several fixed GAP sizes. By default bvector uses some reasonable preset. 
2494
 
<p>
2495
 
Definition at line <a class="el" href="a00102.html#l01808">1808</a> of file <a class="el" href="a00102.html">bm.h</a>.
2496
 
<p>
2497
 
References <a class="el" href="a00048.html#a45">bm::bvector&lt; Alloc, MS &gt;::calc_stat()</a>, <a class="el" href="a00104.html#l00072">bm::gap_levels</a>, <a class="el" href="a00106.html#l03249">bm::improve_gap_levels()</a>, and <a class="el" href="a00102.html#l01829">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.    </td>
2498
 
  </tr>
2499
 
</table>
2500
 
<a class="anchor" name="a32" doxytag="bm::bvector::recalc_count"></a><p>
2501
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2502
 
  <tr>
2503
 
    <td class="mdRow">
2504
 
      <table cellpadding="0" cellspacing="0" border="0">
2505
 
        <tr>
2506
 
          <td class="mdPrefix" colspan="4">
2507
 
template&lt;class Alloc, class MS&gt; </td>
2508
 
        </tr>
2509
 
        <tr>
2510
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::recalc_count           </td>
2511
 
          <td class="md" valign="top">(&nbsp;</td>
2512
 
          <td class="mdname1" valign="top" nowrap>          </td>
2513
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2514
 
          <td class="md" nowrap><code> [inline]</code></td>
2515
 
        </tr>
2516
 
      </table>
2517
 
    </td>
2518
 
  </tr>
2519
 
</table>
2520
 
<table cellspacing="5" cellpadding="0" border="0">
2521
 
  <tr>
2522
 
    <td>
2523
 
      &nbsp;
2524
 
    </td>
2525
 
    <td>
2526
 
 
2527
 
<p>
2528
 
 
2529
 
<p>
2530
 
Definition at line <a class="el" href="a00102.html#l01104">1104</a> of file <a class="el" href="a00102.html">bm.h</a>.
2531
 
<p>
2532
 
References <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>, and <a class="el" href="a00102.html#l01603">bm::bvector&lt; Alloc, MS &gt;::count()</a>.    </td>
2533
 
  </tr>
2534
 
</table>
2535
 
<a class="anchor" name="a25" doxytag="bm::bvector::reset"></a><p>
2536
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2537
 
  <tr>
2538
 
    <td class="mdRow">
2539
 
      <table cellpadding="0" cellspacing="0" border="0">
2540
 
        <tr>
2541
 
          <td class="mdPrefix" colspan="4">
2542
 
template&lt;class Alloc, class MS&gt; </td>
2543
 
        </tr>
2544
 
        <tr>
2545
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reset           </td>
2546
 
          <td class="md" valign="top">(&nbsp;</td>
2547
 
          <td class="mdname1" valign="top" nowrap>          </td>
2548
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2549
 
          <td class="md" nowrap><code> [inline]</code></td>
2550
 
        </tr>
2551
 
      </table>
2552
 
    </td>
2553
 
  </tr>
2554
 
</table>
2555
 
<table cellspacing="5" cellpadding="0" border="0">
2556
 
  <tr>
2557
 
    <td>
2558
 
      &nbsp;
2559
 
    </td>
2560
 
    <td>
2561
 
 
2562
 
<p>
2563
 
Clears every bit in the bitvector. 
2564
 
<p>
2565
 
<dl compact><dt><b>Returns:</b></dt><dd>*this; </dd></dl>
2566
 
 
2567
 
<p>
2568
 
Definition at line <a class="el" href="a00102.html#l01040">1040</a> of file <a class="el" href="a00102.html">bm.h</a>.
2569
 
<p>
2570
 
References <a class="el" href="a00102.html#l01030">bm::bvector&lt; Alloc, MS &gt;::clear()</a>.    </td>
2571
 
  </tr>
2572
 
</table>
2573
 
<a class="anchor" name="a29" doxytag="bm::bvector::resize"></a><p>
2574
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2575
 
  <tr>
2576
 
    <td class="mdRow">
2577
 
      <table cellpadding="0" cellspacing="0" border="0">
2578
 
        <tr>
2579
 
          <td class="mdPrefix" colspan="4">
2580
 
template&lt;typename Alloc, typename MS&gt; </td>
2581
 
        </tr>
2582
 
        <tr>
2583
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::resize           </td>
2584
 
          <td class="md" valign="top">(&nbsp;</td>
2585
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html#w2">size_type</a>&nbsp;</td>
2586
 
          <td class="mdname1" valign="top" nowrap> <em>new_size</em>          </td>
2587
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2588
 
          <td class="md" nowrap></td>
2589
 
        </tr>
2590
 
      </table>
2591
 
    </td>
2592
 
  </tr>
2593
 
</table>
2594
 
<table cellspacing="5" cellpadding="0" border="0">
2595
 
  <tr>
2596
 
    <td>
2597
 
      &nbsp;
2598
 
    </td>
2599
 
    <td>
2600
 
 
2601
 
<p>
2602
 
Change size of the bvector. 
2603
 
<p>
2604
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2605
 
  <table border="0" cellspacing="2" cellpadding="0">
2606
 
    <tr><td valign="top"></td><td valign="top"><em>new_size</em>&nbsp;</td><td>- new size in bits </td></tr>
2607
 
  </table>
2608
 
</dl>
2609
 
 
2610
 
<p>
2611
 
Definition at line <a class="el" href="a00102.html#l01620">1620</a> of file <a class="el" href="a00102.html">bm.h</a>.
2612
 
<p>
2613
 
References <a class="el" href="a00102.html#l01580">bm::bvector&lt; Alloc, MS &gt;::set_range()</a>.
2614
 
<p>
2615
 
Referenced by <a class="el" href="a00118.html#l00069">main()</a>, and <a class="el" href="a00102.html#l00870">bm::bvector&lt; Alloc, MS &gt;::operator=()</a>.    </td>
2616
 
  </tr>
2617
 
</table>
2618
 
<a class="anchor" name="a20" doxytag="bm::bvector::set"></a><p>
2619
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2620
 
  <tr>
2621
 
    <td class="mdRow">
2622
 
      <table cellpadding="0" cellspacing="0" border="0">
2623
 
        <tr>
2624
 
          <td class="mdPrefix" colspan="4">
2625
 
template&lt;class Alloc, class MS&gt; </td>
2626
 
        </tr>
2627
 
        <tr>
2628
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set           </td>
2629
 
          <td class="md" valign="top">(&nbsp;</td>
2630
 
          <td class="mdname1" valign="top" nowrap>          </td>
2631
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2632
 
          <td class="md" nowrap><code> [inline]</code></td>
2633
 
        </tr>
2634
 
      </table>
2635
 
    </td>
2636
 
  </tr>
2637
 
</table>
2638
 
<table cellspacing="5" cellpadding="0" border="0">
2639
 
  <tr>
2640
 
    <td>
2641
 
      &nbsp;
2642
 
    </td>
2643
 
    <td>
2644
 
 
2645
 
<p>
2646
 
Sets every bit in this bitset to 1. 
2647
 
<p>
2648
 
<dl compact><dt><b>Returns:</b></dt><dd>*this </dd></dl>
2649
 
 
2650
 
<p>
2651
 
Definition at line <a class="el" href="a00102.html#l00983">983</a> of file <a class="el" href="a00102.html">bm.h</a>.
2652
 
<p>
2653
 
References <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>, and <a class="el" href="a00102.html#l01580">bm::bvector&lt; Alloc, MS &gt;::set_range()</a>.
2654
 
<p>
2655
 
Referenced by <a class="el" href="a00102.html#l01018">bm::bvector&lt; Alloc, MS &gt;::clear_bit()</a>, and <a class="el" href="a00102.html#l01174">bm::bvector&lt; Alloc, MS &gt;::flip()</a>.    </td>
2656
 
  </tr>
2657
 
</table>
2658
 
<a class="anchor" name="a19" doxytag="bm::bvector::set"></a><p>
2659
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2660
 
  <tr>
2661
 
    <td class="mdRow">
2662
 
      <table cellpadding="0" cellspacing="0" border="0">
2663
 
        <tr>
2664
 
          <td class="mdPrefix" colspan="4">
2665
 
template&lt;class Alloc, class MS&gt; </td>
2666
 
        </tr>
2667
 
        <tr>
2668
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt;Alloc, MS&gt;&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set           </td>
2669
 
          <td class="md" valign="top">(&nbsp;</td>
2670
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2671
 
          <td class="mdname" nowrap> <em>n</em>, </td>
2672
 
        </tr>
2673
 
        <tr>
2674
 
          <td class="md" nowrap align="right"></td>
2675
 
          <td class="md"></td>
2676
 
          <td class="md" nowrap>bool&nbsp;</td>
2677
 
          <td class="mdname" nowrap> <em>val</em> = <code>true</code></td>
2678
 
        </tr>
2679
 
        <tr>
2680
 
          <td class="md"></td>
2681
 
          <td class="md">)&nbsp;</td>
2682
 
          <td class="md" colspan="2"><code> [inline]</code></td>
2683
 
        </tr>
2684
 
      </table>
2685
 
    </td>
2686
 
  </tr>
2687
 
</table>
2688
 
<table cellspacing="5" cellpadding="0" border="0">
2689
 
  <tr>
2690
 
    <td>
2691
 
      &nbsp;
2692
 
    </td>
2693
 
    <td>
2694
 
 
2695
 
<p>
2696
 
Sets bit n if val is true, clears bit n if val is false. 
2697
 
<p>
2698
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2699
 
  <table border="0" cellspacing="2" cellpadding="0">
2700
 
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- index of the bit to be set </td></tr>
2701
 
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>- new bit value </td></tr>
2702
 
  </table>
2703
 
</dl>
2704
 
<dl compact><dt><b>Returns:</b></dt><dd>*this </dd></dl>
2705
 
 
2706
 
<p>
2707
 
Definition at line <a class="el" href="a00102.html#l00971">971</a> of file <a class="el" href="a00102.html">bm.h</a>.
2708
 
<p>
2709
 
References <a class="el" href="a00102.html#l00958">bm::bvector&lt; Alloc, MS &gt;::set_bit()</a>.
2710
 
<p>
2711
 
Referenced by <a class="el" href="a00111.html#l00044">main()</a>.    </td>
2712
 
  </tr>
2713
 
</table>
2714
 
<a class="anchor" name="a18" doxytag="bm::bvector::set_bit"></a><p>
2715
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2716
 
  <tr>
2717
 
    <td class="mdRow">
2718
 
      <table cellpadding="0" cellspacing="0" border="0">
2719
 
        <tr>
2720
 
          <td class="mdPrefix" colspan="4">
2721
 
template&lt;class Alloc, class MS&gt; </td>
2722
 
        </tr>
2723
 
        <tr>
2724
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set_bit           </td>
2725
 
          <td class="md" valign="top">(&nbsp;</td>
2726
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2727
 
          <td class="mdname" nowrap> <em>n</em>, </td>
2728
 
        </tr>
2729
 
        <tr>
2730
 
          <td class="md" nowrap align="right"></td>
2731
 
          <td class="md"></td>
2732
 
          <td class="md" nowrap>bool&nbsp;</td>
2733
 
          <td class="mdname" nowrap> <em>val</em> = <code>true</code></td>
2734
 
        </tr>
2735
 
        <tr>
2736
 
          <td class="md"></td>
2737
 
          <td class="md">)&nbsp;</td>
2738
 
          <td class="md" colspan="2"><code> [inline]</code></td>
2739
 
        </tr>
2740
 
      </table>
2741
 
    </td>
2742
 
  </tr>
2743
 
</table>
2744
 
<table cellspacing="5" cellpadding="0" border="0">
2745
 
  <tr>
2746
 
    <td>
2747
 
      &nbsp;
2748
 
    </td>
2749
 
    <td>
2750
 
 
2751
 
<p>
2752
 
Sets bit n. 
2753
 
<p>
2754
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2755
 
  <table border="0" cellspacing="2" cellpadding="0">
2756
 
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- index of the bit to be set. </td></tr>
2757
 
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>- new bit value </td></tr>
2758
 
  </table>
2759
 
</dl>
2760
 
<dl compact><dt><b>Returns:</b></dt><dd>TRUE if bit was changed </dd></dl>
2761
 
 
2762
 
<p>
2763
 
Definition at line <a class="el" href="a00102.html#l00958">958</a> of file <a class="el" href="a00102.html">bm.h</a>.
2764
 
<p>
2765
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
2766
 
<p>
2767
 
Referenced by <a class="el" href="a00102.html#l00971">bm::bvector&lt; Alloc, MS &gt;::set()</a>.    </td>
2768
 
  </tr>
2769
 
</table>
2770
 
<a class="anchor" name="a55" doxytag="bm::bvector::set_gap_levels"></a><p>
2771
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2772
 
  <tr>
2773
 
    <td class="mdRow">
2774
 
      <table cellpadding="0" cellspacing="0" border="0">
2775
 
        <tr>
2776
 
          <td class="mdPrefix" colspan="4">
2777
 
template&lt;typename Alloc, typename MS&gt; </td>
2778
 
        </tr>
2779
 
        <tr>
2780
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set_gap_levels           </td>
2781
 
          <td class="md" valign="top">(&nbsp;</td>
2782
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td>
2783
 
          <td class="mdname1" valign="top" nowrap> <em>glevel_len</em>          </td>
2784
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2785
 
          <td class="md" nowrap></td>
2786
 
        </tr>
2787
 
      </table>
2788
 
    </td>
2789
 
  </tr>
2790
 
</table>
2791
 
<table cellspacing="5" cellpadding="0" border="0">
2792
 
  <tr>
2793
 
    <td>
2794
 
      &nbsp;
2795
 
    </td>
2796
 
    <td>
2797
 
 
2798
 
<p>
2799
 
Sets new GAP lengths table. All GAP blocks will be reallocated to match the new scheme. 
2800
 
<p>
2801
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2802
 
  <table border="0" cellspacing="2" cellpadding="0">
2803
 
    <tr><td valign="top"></td><td valign="top"><em>glevel_len</em>&nbsp;</td><td>- pointer on C-style array keeping GAP block sizes. </td></tr>
2804
 
  </table>
2805
 
</dl>
2806
 
 
2807
 
<p>
2808
 
Definition at line <a class="el" href="a00102.html#l01829">1829</a> of file <a class="el" href="a00102.html">bm.h</a>.
2809
 
<p>
2810
 
References <a class="el" href="a00106.html#l00437">bm::for_each_nzblock()</a>, and <a class="el" href="a00102.html#l01829">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.
2811
 
<p>
2812
 
Referenced by <a class="el" href="a00102.html#l01808">bm::bvector&lt; Alloc, MS &gt;::optimize_gap_size()</a>, and <a class="el" href="a00102.html#l01829">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.    </td>
2813
 
  </tr>
2814
 
</table>
2815
 
<a class="anchor" name="a50" doxytag="bm::bvector::set_new_blocks_strat"></a><p>
2816
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2817
 
  <tr>
2818
 
    <td class="mdRow">
2819
 
      <table cellpadding="0" cellspacing="0" border="0">
2820
 
        <tr>
2821
 
          <td class="mdPrefix" colspan="4">
2822
 
template&lt;class Alloc, class MS&gt; </td>
2823
 
        </tr>
2824
 
        <tr>
2825
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set_new_blocks_strat           </td>
2826
 
          <td class="md" valign="top">(&nbsp;</td>
2827
 
          <td class="md" nowrap valign="top"><a class="el" href="a00095.html#ga0">strategy</a>&nbsp;</td>
2828
 
          <td class="mdname1" valign="top" nowrap> <em>strat</em>          </td>
2829
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2830
 
          <td class="md" nowrap><code> [inline]</code></td>
2831
 
        </tr>
2832
 
      </table>
2833
 
    </td>
2834
 
  </tr>
2835
 
</table>
2836
 
<table cellspacing="5" cellpadding="0" border="0">
2837
 
  <tr>
2838
 
    <td>
2839
 
      &nbsp;
2840
 
    </td>
2841
 
    <td>
2842
 
 
2843
 
<p>
2844
 
Sets new blocks allocation strategy. 
2845
 
<p>
2846
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2847
 
  <table border="0" cellspacing="2" cellpadding="0">
2848
 
    <tr><td valign="top"></td><td valign="top"><em>strat</em>&nbsp;</td><td>- Strategy code 0 - bitblocks allocation only. 1 - Blocks mutation mode (adaptive algorithm) </td></tr>
2849
 
  </table>
2850
 
</dl>
2851
 
 
2852
 
<p>
2853
 
Definition at line <a class="el" href="a00102.html#l01294">1294</a> of file <a class="el" href="a00102.html">bm.h</a>.
2854
 
<p>
2855
 
Referenced by <a class="el" href="a00113.html#l00075">main()</a>.    </td>
2856
 
  </tr>
2857
 
</table>
2858
 
<a class="anchor" name="a21" doxytag="bm::bvector::set_range"></a><p>
2859
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2860
 
  <tr>
2861
 
    <td class="mdRow">
2862
 
      <table cellpadding="0" cellspacing="0" border="0">
2863
 
        <tr>
2864
 
          <td class="mdPrefix" colspan="4">
2865
 
template&lt;typename Alloc, typename MS&gt; </td>
2866
 
        </tr>
2867
 
        <tr>
2868
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::set_range           </td>
2869
 
          <td class="md" valign="top">(&nbsp;</td>
2870
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2871
 
          <td class="mdname" nowrap> <em>left</em>, </td>
2872
 
        </tr>
2873
 
        <tr>
2874
 
          <td class="md" nowrap align="right"></td>
2875
 
          <td class="md"></td>
2876
 
          <td class="md" nowrap><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
2877
 
          <td class="mdname" nowrap> <em>right</em>, </td>
2878
 
        </tr>
2879
 
        <tr>
2880
 
          <td class="md" nowrap align="right"></td>
2881
 
          <td class="md"></td>
2882
 
          <td class="md" nowrap>bool&nbsp;</td>
2883
 
          <td class="mdname" nowrap> <em>value</em> = <code>true</code></td>
2884
 
        </tr>
2885
 
        <tr>
2886
 
          <td class="md"></td>
2887
 
          <td class="md">)&nbsp;</td>
2888
 
          <td class="md" colspan="2"></td>
2889
 
        </tr>
2890
 
      </table>
2891
 
    </td>
2892
 
  </tr>
2893
 
</table>
2894
 
<table cellspacing="5" cellpadding="0" border="0">
2895
 
  <tr>
2896
 
    <td>
2897
 
      &nbsp;
2898
 
    </td>
2899
 
    <td>
2900
 
 
2901
 
<p>
2902
 
Sets all bits in the specified closed interval [left,right] Interval must be inside the bvector's size. This method DOES NOT resize vector. 
2903
 
<p>
2904
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2905
 
  <table border="0" cellspacing="2" cellpadding="0">
2906
 
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>- interval start </td></tr>
2907
 
    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>- interval end (closed interval) </td></tr>
2908
 
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>- value to set interval in</td></tr>
2909
 
  </table>
2910
 
</dl>
2911
 
<dl compact><dt><b>Returns:</b></dt><dd>*this </dd></dl>
2912
 
 
2913
 
<p>
2914
 
Definition at line <a class="el" href="a00102.html#l01580">1580</a> of file <a class="el" href="a00102.html">bm.h</a>.
2915
 
<p>
2916
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00093">BM_SET_MMX_GUARD</a>, and <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>.
2917
 
<p>
2918
 
Referenced by <a class="el" href="a00102.html#l01620">bm::bvector&lt; Alloc, MS &gt;::resize()</a>, and <a class="el" href="a00102.html#l00983">bm::bvector&lt; Alloc, MS &gt;::set()</a>.    </td>
2919
 
  </tr>
2920
 
</table>
2921
 
<a class="anchor" name="a28" doxytag="bm::bvector::size"></a><p>
2922
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2923
 
  <tr>
2924
 
    <td class="mdRow">
2925
 
      <table cellpadding="0" cellspacing="0" border="0">
2926
 
        <tr>
2927
 
          <td class="mdPrefix" colspan="4">
2928
 
template&lt;class Alloc, class MS&gt; </td>
2929
 
        </tr>
2930
 
        <tr>
2931
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html#w2">size_type</a> <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::size           </td>
2932
 
          <td class="md" valign="top">(&nbsp;</td>
2933
 
          <td class="mdname1" valign="top" nowrap>          </td>
2934
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2935
 
          <td class="md" nowrap> const<code> [inline]</code></td>
2936
 
        </tr>
2937
 
      </table>
2938
 
    </td>
2939
 
  </tr>
2940
 
</table>
2941
 
<table cellspacing="5" cellpadding="0" border="0">
2942
 
  <tr>
2943
 
    <td>
2944
 
      &nbsp;
2945
 
    </td>
2946
 
    <td>
2947
 
 
2948
 
<p>
2949
 
return current size of the vector (bits) 
2950
 
<p>
2951
 
 
2952
 
<p>
2953
 
Definition at line <a class="el" href="a00102.html#l01064">1064</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
2954
 
  </tr>
2955
 
</table>
2956
 
<a class="anchor" name="a52" doxytag="bm::bvector::stat"></a><p>
2957
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2958
 
  <tr>
2959
 
    <td class="mdRow">
2960
 
      <table cellpadding="0" cellspacing="0" border="0">
2961
 
        <tr>
2962
 
          <td class="mdPrefix" colspan="4">
2963
 
template&lt;class Alloc, class MS&gt; </td>
2964
 
        </tr>
2965
 
        <tr>
2966
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::stat           </td>
2967
 
          <td class="md" valign="top">(&nbsp;</td>
2968
 
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
2969
 
          <td class="mdname1" valign="top" nowrap> <em>blocks</em> = <code>0</code>          </td>
2970
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2971
 
          <td class="md" nowrap> const</td>
2972
 
        </tr>
2973
 
      </table>
2974
 
    </td>
2975
 
  </tr>
2976
 
</table>
2977
 
<table cellspacing="5" cellpadding="0" border="0">
2978
 
  <tr>
2979
 
    <td>
2980
 
      &nbsp;
2981
 
    </td>
2982
 
    <td>
2983
 
 
2984
 
<p>
2985
 
 
2986
 
<p>
2987
 
Definition at line <a class="el" href="a00102.html#l02132">2132</a> of file <a class="el" href="a00102.html">bm.h</a>.
2988
 
<p>
2989
 
References <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, <a class="el" href="a00105.html#l00057">BMGAP_PTR</a>, <a class="el" href="a00102.html#l01603">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00106.html#l00547">bm::gap_bit_count()</a>, <a class="el" href="a00106.html#l01515">bm::gap_control_sum()</a>, <a class="el" href="a00106.html#l01675">bm::gap_length()</a>, <a class="el" href="a00106.html#l01717">bm::gap_level()</a>, <a class="el" href="a00102.html#l01416">bm::bvector&lt; Alloc, MS &gt;::get_block()</a>, and <a class="el" href="a00105.html#l00024">IS_FULL_BLOCK</a>.    </td>
2990
 
  </tr>
2991
 
</table>
2992
 
<a class="anchor" name="a41" doxytag="bm::bvector::swap"></a><p>
2993
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2994
 
  <tr>
2995
 
    <td class="mdRow">
2996
 
      <table cellpadding="0" cellspacing="0" border="0">
2997
 
        <tr>
2998
 
          <td class="mdPrefix" colspan="4">
2999
 
template&lt;class Alloc, class MS&gt; </td>
3000
 
        </tr>
3001
 
        <tr>
3002
 
          <td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::swap           </td>
3003
 
          <td class="md" valign="top">(&nbsp;</td>
3004
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
3005
 
          <td class="mdname1" valign="top" nowrap> <em>bv</em>          </td>
3006
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
3007
 
          <td class="md" nowrap><code> [inline]</code></td>
3008
 
        </tr>
3009
 
      </table>
3010
 
    </td>
3011
 
  </tr>
3012
 
</table>
3013
 
<table cellspacing="5" cellpadding="0" border="0">
3014
 
  <tr>
3015
 
    <td>
3016
 
      &nbsp;
3017
 
    </td>
3018
 
    <td>
3019
 
 
3020
 
<p>
3021
 
Exchanges content of bv and this bitvector. 
3022
 
<p>
3023
 
 
3024
 
<p>
3025
 
Definition at line <a class="el" href="a00102.html#l01191">1191</a> of file <a class="el" href="a00102.html">bm.h</a>.
3026
 
<p>
3027
 
References <a class="el" href="a00102.html#l00076">BMCOUNT_VALID</a>, and <a class="el" href="a00106.html#l00231">bm::xor_swap()</a>.    </td>
3028
 
  </tr>
3029
 
</table>
3030
 
<a class="anchor" name="a36" doxytag="bm::bvector::test"></a><p>
3031
 
<table class="mdTable" cellpadding="2" cellspacing="0">
3032
 
  <tr>
3033
 
    <td class="mdRow">
3034
 
      <table cellpadding="0" cellspacing="0" border="0">
3035
 
        <tr>
3036
 
          <td class="mdPrefix" colspan="4">
3037
 
template&lt;class Alloc, class MS&gt; </td>
3038
 
        </tr>
3039
 
        <tr>
3040
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::test           </td>
3041
 
          <td class="md" valign="top">(&nbsp;</td>
3042
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
3043
 
          <td class="mdname1" valign="top" nowrap> <em>n</em>          </td>
3044
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
3045
 
          <td class="md" nowrap> const<code> [inline]</code></td>
3046
 
        </tr>
3047
 
      </table>
3048
 
    </td>
3049
 
  </tr>
3050
 
</table>
3051
 
<table cellspacing="5" cellpadding="0" border="0">
3052
 
  <tr>
3053
 
    <td>
3054
 
      &nbsp;
3055
 
    </td>
3056
 
    <td>
3057
 
 
3058
 
<p>
3059
 
returns true if bit n is set and false is bit n is 0. 
3060
 
<p>
3061
 
<dl compact><dt><b>Parameters:</b></dt><dd>
3062
 
  <table border="0" cellspacing="2" cellpadding="0">
3063
 
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- Index of the bit to check. </td></tr>
3064
 
  </table>
3065
 
</dl>
3066
 
<dl compact><dt><b>Returns:</b></dt><dd>Bit value (1 or 0) </dd></dl>
3067
 
 
3068
 
<p>
3069
 
Definition at line <a class="el" href="a00102.html#l01140">1140</a> of file <a class="el" href="a00102.html">bm.h</a>.
3070
 
<p>
3071
 
References <a class="el" href="a00102.html#l01756">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>.    </td>
3072
 
  </tr>
3073
 
</table>
3074
 
<hr><h2>Friends And Related Function Documentation</h2>
3075
 
<a class="anchor" name="n1" doxytag="bm::bvector::enumerator"></a><p>
3076
 
<table class="mdTable" cellpadding="2" cellspacing="0">
3077
 
  <tr>
3078
 
    <td class="mdRow">
3079
 
      <table cellpadding="0" cellspacing="0" border="0">
3080
 
        <tr>
3081
 
          <td class="mdPrefix" colspan="4">
3082
 
template&lt;class Alloc, class MS&gt; </td>
3083
 
        </tr>
3084
 
        <tr>
3085
 
          <td class="md" nowrap valign="top">friend class <a class="el" href="a00050.html">enumerator</a><code> [friend]</code>          </td>
3086
 
        </tr>
3087
 
      </table>
3088
 
    </td>
3089
 
  </tr>
3090
 
</table>
3091
 
<table cellspacing="5" cellpadding="0" border="0">
3092
 
  <tr>
3093
 
    <td>
3094
 
      &nbsp;
3095
 
    </td>
3096
 
    <td>
3097
 
 
3098
 
<p>
3099
 
 
3100
 
<p>
3101
 
Definition at line <a class="el" href="a00102.html#l00785">785</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
3102
 
  </tr>
3103
 
</table>
3104
 
<a class="anchor" name="n0" doxytag="bm::bvector::iterator_base"></a><p>
3105
 
<table class="mdTable" cellpadding="2" cellspacing="0">
3106
 
  <tr>
3107
 
    <td class="mdRow">
3108
 
      <table cellpadding="0" cellspacing="0" border="0">
3109
 
        <tr>
3110
 
          <td class="mdPrefix" colspan="4">
3111
 
template&lt;class Alloc, class MS&gt; </td>
3112
 
        </tr>
3113
 
        <tr>
3114
 
          <td class="md" nowrap valign="top">friend class <a class="el" href="a00052.html">iterator_base</a><code> [friend]</code>          </td>
3115
 
        </tr>
3116
 
      </table>
3117
 
    </td>
3118
 
  </tr>
3119
 
</table>
3120
 
<table cellspacing="5" cellpadding="0" border="0">
3121
 
  <tr>
3122
 
    <td>
3123
 
      &nbsp;
3124
 
    </td>
3125
 
    <td>
3126
 
 
3127
 
<p>
3128
 
 
3129
 
<p>
3130
 
Definition at line <a class="el" href="a00102.html#l00784">784</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
3131
 
  </tr>
3132
 
</table>
3133
 
<hr>The documentation for this class was generated from the following file:<ul>
3134
 
<li><a class="el" href="a00102.html">bm.h</a></ul>
3135
 
<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 20 13:29:13 2006 for BitMagic by&nbsp;
3136
 
<a href="http://www.doxygen.org/index.html">
3137
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
3138
 
</body>
3139
 
</html>