1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>BitMagic: bm::bvmini< N > Class Template Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.5 -->
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>BitMagic: dbg_ptr_allocator Class Reference</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
11
14
<li><a href="index.html"><span>Main Page</span></a></li>
12
15
<li><a href="modules.html"><span>Modules</span></a></li>
13
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
<li class="current"><a href="classes.html"><span>Data Structures</span></a></li>
17
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
15
18
<li><a href="files.html"><span>Files</span></a></li>
16
19
<li><a href="examples.html"><span>Examples</span></a></li>
21
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
22
24
<li><a href="annotated.html"><span>Data Structures</span></a></li>
25
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
23
26
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
27
<div class="navpath"><a class="el" href="a00106.html">bm</a>::<a class="el" href="a00051.html">bvmini</a>
30
31
<div class="contents">
31
<h1>bm::bvmini< N > Class Template Reference<br>
33
[<a class="el" href="a00112.html">Small sets functionality</a>]</small>
34
</h1><!-- doxytag: class="bm::bvmini" -->Mini bitvector used in <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags.
35
<a href="#_details">More...</a>
37
<code>#include <<a class="el" href="a00141.html">bmvmin.h</a>></code>
39
<table border="0" cellpadding="0" cellspacing="0">
41
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
42
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#06c2a8c6253e47e107acf75f3f9dfb38">bvmini</a> (int start_strategy=0)</td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#aca8fc1df0be6bf5e0dbb78f399c793d">bvmini</a> (const <a class="el" href="a00051.html">bvmini</a> &mset)</td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#6c5950cd2043fe1de37aa7eeba2ad208">test</a> (<a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n) const </td></tr>
48
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise. <a href="#6c5950cd2043fe1de37aa7eeba2ad208"></a><br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#74c7834f34f41e6042243cdbe2b7b93e">set</a> (<a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> n, bool val=true)</td></tr>
51
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#3253569551b1ce6fb6b1e1d21f318f70">mem_used</a> () const </td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#f5f33b8936925bec92522af3c44dd677">swap</a> (<a class="el" href="a00051.html">bvmini</a> &mset)</td></tr>
32
<h1>dbg_ptr_allocator Class Reference</h1><!-- doxytag: class="dbg_ptr_allocator" --><table border="0" cellpadding="0" cellspacing="0">
33
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
34
<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a15a6c29419ebabc9221051cdd63e9495">allocate</a> (size_t n, const void *)</td></tr>
35
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a89cd3e8e84ef4a4598446ba8fa8c10a3">deallocate</a> (void *p, size_t n)</td></tr>
36
<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a521bc1068c669de23dc20d582d229918">balance</a> ()</td></tr>
37
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">static unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a1839c318b76fefce64ba0a0aba52e2b0">na_</a> = 0</td></tr>
39
<tr><td class="memItemLeft" align="right" valign="top">static unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#afbbe7e12818ba2c51358b66d00fc05f0">nf_</a> = 0</td></tr>
56
<hr><a name="_details"></a><h2>Detailed Description</h2>
57
<h3>template<size_t N><br>
58
class bm::bvmini< N ></h3>
60
Mini bitvector used in <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags.
62
Template is used as a default template parameter MS for <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a> Offers maximum performance comparing to <a class="el" href="a00074.html" title="Template class implements memory saving set functionality.">miniset</a>.<p>
63
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00074.html" title="Template class implements memory saving set functionality.">miniset</a> </dd></dl>
65
<p>Definition at line <a class="el" href="a00141.html#l00217">217</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
66
<hr><h2>Constructor & Destructor Documentation</h2>
67
<a class="anchor" name="06c2a8c6253e47e107acf75f3f9dfb38"></a><!-- doxytag: member="bm::bvmini::bvmini" ref="06c2a8c6253e47e107acf75f3f9dfb38" args="(int start_strategy=0)" -->
69
<div class="memproto">
70
<div class="memtemplate">
71
template<size_t N> </div>
72
<table class="memname">
74
<td class="memname"><a class="el" href="a00051.html">bm::bvmini</a>< N >::<a class="el" href="a00051.html">bvmini</a> </td>
76
<td class="paramtype">int </td>
77
<td class="paramname"> <em>start_strategy</em> = <code>0</code> </td>
78
<td> ) </td>
79
<td width="100%"><code> [inline]</code></td>
87
<p>Definition at line <a class="el" href="a00141.html#l00221">221</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
91
<a class="anchor" name="aca8fc1df0be6bf5e0dbb78f399c793d"></a><!-- doxytag: member="bm::bvmini::bvmini" ref="aca8fc1df0be6bf5e0dbb78f399c793d" args="(const bvmini &mset)" -->
93
<div class="memproto">
94
<div class="memtemplate">
95
template<size_t N> </div>
96
<table class="memname">
98
<td class="memname"><a class="el" href="a00051.html">bm::bvmini</a>< N >::<a class="el" href="a00051.html">bvmini</a> </td>
100
<td class="paramtype">const <a class="el" href="a00051.html">bvmini</a>< N > & </td>
101
<td class="paramname"> <em>mset</em> </td>
102
<td> ) </td>
103
<td width="100%"><code> [inline]</code></td>
111
<p>Definition at line <a class="el" href="a00141.html#l00226">226</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
113
<p>References <a class="el" href="a00141.html#l00262">bm::bvmini< N >::m_buf</a>.</p>
117
<hr><h2>Member Function Documentation</h2>
118
<a class="anchor" name="6c5950cd2043fe1de37aa7eeba2ad208"></a><!-- doxytag: member="bm::bvmini::test" ref="6c5950cd2043fe1de37aa7eeba2ad208" args="(bm::id_t n) const " -->
119
<div class="memitem">
120
<div class="memproto">
121
<div class="memtemplate">
122
template<size_t N> </div>
123
<table class="memname">
125
<td class="memname">unsigned <a class="el" href="a00051.html">bm::bvmini</a>< N >::test </td>
127
<td class="paramtype"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
128
<td class="paramname"> <em>n</em> </td>
129
<td> ) </td>
130
<td width="100%"> const<code> [inline]</code></td>
137
Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise.
140
<p>Definition at line <a class="el" href="a00141.html#l00233">233</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
142
<p>References <a class="el" href="a00132.html#l00064">bm::set_word_mask</a>, and <a class="el" href="a00132.html#l00063">bm::set_word_shift</a>.</p>
146
<a class="anchor" name="74c7834f34f41e6042243cdbe2b7b93e"></a><!-- doxytag: member="bm::bvmini::set" ref="74c7834f34f41e6042243cdbe2b7b93e" args="(bm::id_t n, bool val=true)" -->
147
<div class="memitem">
148
<div class="memproto">
149
<div class="memtemplate">
150
template<size_t N> </div>
151
<table class="memname">
153
<td class="memname">void <a class="el" href="a00051.html">bm::bvmini</a>< N >::set </td>
155
<td class="paramtype"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
41
<hr/><a name="_details"></a><h2>Detailed Description</h2>
42
<dl><dt><b>Examples: </b></dt><dd>
43
<p><a class="el" href="a00006.html#_a7">sample6.cpp</a>.</p>
46
<p>Definition at line <a class="el" href="a00106_source.html#l00077">77</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
47
<hr/><h2>Member Function Documentation</h2>
48
<a class="anchor" id="a15a6c29419ebabc9221051cdd63e9495"></a><!-- doxytag: member="dbg_ptr_allocator::allocate" ref="a15a6c29419ebabc9221051cdd63e9495" args="(size_t n, const void *)" -->
50
<div class="memproto">
51
<table class="memname">
53
<td class="memname">static void* dbg_ptr_allocator::allocate </td>
55
<td class="paramtype">size_t </td>
156
56
<td class="paramname"> <em>n</em>, </td>
159
59
<td class="paramkey"></td>
161
<td class="paramtype">bool </td>
162
<td class="paramname"> <em>val</em> = <code>true</code></td><td> </td>
167
<td></td><td></td><td width="100%"><code> [inline]</code></td>
175
<p>Definition at line <a class="el" href="a00141.html#l00238">238</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
177
<p>References <a class="el" href="a00132.html#l00064">bm::set_word_mask</a>, and <a class="el" href="a00132.html#l00063">bm::set_word_shift</a>.</p>
181
<a class="anchor" name="3253569551b1ce6fb6b1e1d21f318f70"></a><!-- doxytag: member="bm::bvmini::mem_used" ref="3253569551b1ce6fb6b1e1d21f318f70" args="() const " -->
182
<div class="memitem">
183
<div class="memproto">
184
<div class="memtemplate">
185
template<size_t N> </div>
186
<table class="memname">
188
<td class="memname">unsigned <a class="el" href="a00051.html">bm::bvmini</a>< N >::mem_used </td>
190
<td class="paramname"> </td>
191
<td> ) </td>
192
<td width="100%"> const<code> [inline]</code></td>
200
<p>Definition at line <a class="el" href="a00141.html#l00246">246</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
204
<a class="anchor" name="f5f33b8936925bec92522af3c44dd677"></a><!-- doxytag: member="bm::bvmini::swap" ref="f5f33b8936925bec92522af3c44dd677" args="(bvmini &mset)" -->
205
<div class="memitem">
206
<div class="memproto">
207
<div class="memtemplate">
208
template<size_t N> </div>
209
<table class="memname">
211
<td class="memname">void <a class="el" href="a00051.html">bm::bvmini</a>< N >::swap </td>
213
<td class="paramtype"><a class="el" href="a00051.html">bvmini</a>< N > & </td>
214
<td class="paramname"> <em>mset</em> </td>
215
<td> ) </td>
216
<td width="100%"><code> [inline]</code></td>
224
<p>Definition at line <a class="el" href="a00141.html#l00251">251</a> of file <a class="el" href="a00141.html">bmvmin.h</a>.</p>
226
<p>References <a class="el" href="a00141.html#l00035">BM_MINISET_ARRSIZE</a>, and <a class="el" href="a00141.html#l00262">bm::bvmini< N >::m_buf</a>.</p>
230
<hr>The documentation for this class was generated from the following file:<ul>
231
<li><a class="el" href="a00141.html">bmvmin.h</a></ul>
233
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:17:25 2009 for BitMagic by
61
<td class="paramtype">const void * </td>
62
<td class="paramname"></td><td> </td>
67
<td></td><td></td><td><code> [inline, static]</code></td>
72
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a10">sample6.cpp</a>.</dd>
74
<p>Definition at line <a class="el" href="a00106_source.html#l00083">83</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
76
<p>References <a class="el" href="a00106_source.html#l00080">na_</a>.</p>
80
<a class="anchor" id="a521bc1068c669de23dc20d582d229918"></a><!-- doxytag: member="dbg_ptr_allocator::balance" ref="a521bc1068c669de23dc20d582d229918" args="()" -->
82
<div class="memproto">
83
<table class="memname">
85
<td class="memname">static int dbg_ptr_allocator::balance </td>
87
<td class="paramname"></td>
88
<td> ) </td>
89
<td><code> [inline, static]</code></td>
94
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a12">sample6.cpp</a>.</dd>
96
<p>Definition at line <a class="el" href="a00106_source.html#l00102">102</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
98
<p>References <a class="el" href="a00106_source.html#l00080">na_</a>, and <a class="el" href="a00106_source.html#l00081">nf_</a>.</p>
100
<p>Referenced by <a class="el" href="a00106_source.html#l00119">main()</a>.</p>
104
<a class="anchor" id="a89cd3e8e84ef4a4598446ba8fa8c10a3"></a><!-- doxytag: member="dbg_ptr_allocator::deallocate" ref="a89cd3e8e84ef4a4598446ba8fa8c10a3" args="(void *p, size_t n)" -->
105
<div class="memitem">
106
<div class="memproto">
107
<table class="memname">
109
<td class="memname">static void dbg_ptr_allocator::deallocate </td>
111
<td class="paramtype">void * </td>
112
<td class="paramname"> <em>p</em>, </td>
115
<td class="paramkey"></td>
117
<td class="paramtype">size_t </td>
118
<td class="paramname"> <em>n</em></td><td> </td>
123
<td></td><td></td><td><code> [inline, static]</code></td>
128
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a11">sample6.cpp</a>.</dd>
130
<p>Definition at line <a class="el" href="a00106_source.html#l00093">93</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
132
<p>References <a class="el" href="a00106_source.html#l00081">nf_</a>.</p>
136
<hr/><h2>Field Documentation</h2>
137
<a class="anchor" id="a1839c318b76fefce64ba0a0aba52e2b0"></a><!-- doxytag: member="dbg_ptr_allocator::na_" ref="a1839c318b76fefce64ba0a0aba52e2b0" args="" -->
138
<div class="memitem">
139
<div class="memproto">
140
<table class="memname">
142
<td class="memname">unsigned <a class="el" href="a00051.html#a1839c318b76fefce64ba0a0aba52e2b0">dbg_ptr_allocator::na_</a> = 0<code> [static]</code></td>
147
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a8">sample6.cpp</a>.</dd>
149
<p>Definition at line <a class="el" href="a00106_source.html#l00080">80</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
151
<p>Referenced by <a class="el" href="a00106_source.html#l00083">allocate()</a>, <a class="el" href="a00106_source.html#l00102">balance()</a>, and <a class="el" href="a00106_source.html#l00119">main()</a>.</p>
155
<a class="anchor" id="afbbe7e12818ba2c51358b66d00fc05f0"></a><!-- doxytag: member="dbg_ptr_allocator::nf_" ref="afbbe7e12818ba2c51358b66d00fc05f0" args="" -->
156
<div class="memitem">
157
<div class="memproto">
158
<table class="memname">
160
<td class="memname">unsigned <a class="el" href="a00051.html#afbbe7e12818ba2c51358b66d00fc05f0">dbg_ptr_allocator::nf_</a> = 0<code> [static]</code></td>
165
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a9">sample6.cpp</a>.</dd>
167
<p>Definition at line <a class="el" href="a00106_source.html#l00081">81</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
169
<p>Referenced by <a class="el" href="a00106_source.html#l00102">balance()</a>, and <a class="el" href="a00106_source.html#l00093">deallocate()</a>.</p>
173
<hr/>The documentation for this class was generated from the following file:<ul>
174
<li><a class="el" href="a00106_source.html">sample6.cpp</a></li>
177
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:46 2009 for BitMagic by
234
178
<a href="http://www.doxygen.org/index.html">
235
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
179
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>