27
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
30
<div class="navpath"><a class="el" href="a00116.html">bm</a>::<a class="el" href="a00077.html">operation_functions</a>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00077.html">ptr_allocator</a>
33
33
<div class="contents">
34
<h1>bm::operation_functions< T > Struct Template Reference</h1><!-- doxytag: class="bm::operation_functions" -->
35
<p><code>#include <<a class="el" href="a00094_source.html">bmfunc.h</a>></code></p>
34
<h1>bm::ptr_allocator Class Reference<br/>
36
[<a class="el" href="a00127.html">Memory Allocation</a>]</small>
37
</h1><!-- doxytag: class="bm::ptr_allocator" -->
38
<p>Default malloc based bitblock allocator class.
39
<a href="#_details">More...</a></p>
41
<p><code>#include <<a class="el" href="a00090_source.html">bmalloc.h</a>></code></p>
36
42
<table border="0" cellpadding="0" cellspacing="0">
37
43
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
39
<a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a691347341c16758acd97a7cebaf2d28e">gap_op_to_bit</a> (unsigned i)</td></tr>
40
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#adc10260f808b51e3870e1bbc7e5dffd4">gap_operation</a> (unsigned i)</td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
42
<a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a4fc04066445af644759bf65ebf765760">bit_operation_count</a> (unsigned i)</td></tr>
43
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
45
<a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#aee09fac26fae4f59affa6ef4eeaea757">gap2bit_table_</a> [bm::set_END]</td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#aed0f01bb28a3bc16c7362d9fdb0e34b1">gapop_table_</a> [bm::set_END]</td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
48
<a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a7c99937be5149113db2007bc554fbfb6">bit_op_count_table_</a> [bm::set_END]</td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a2ed8d55900bad5292e06be4af220aa38">allocate</a> (size_t n, const void *)</td></tr>
45
<tr><td class="mdescLeft"> </td><td class="mdescRight">The member function allocates storage for an array of n void* elements, by calling malloc. <a href="#a2ed8d55900bad5292e06be4af220aa38"></a><br/></td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ad7636f410ac891c14621d7bc3784a00c">deallocate</a> (void *p, size_t)</td></tr>
47
<tr><td class="mdescLeft"> </td><td class="mdescRight">The member function frees storage for an array of n <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> elements, by calling free. <a href="#ad7636f410ac891c14621d7bc3784a00c"></a><br/></td></tr>
50
49
<hr/><a name="_details"></a><h2>Detailed Description</h2>
51
<h3>template<bool T><br/>
52
struct bm::operation_functions< T ></h3>
55
<p>Definition at line <a class="el" href="a00094_source.html#l05077">5077</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
50
<p>Default malloc based bitblock allocator class. </p>
51
<p>Functions allocate and deallocate conform to STL allocator specs. </p>
53
<p>Definition at line <a class="el" href="a00090_source.html#l00104">104</a> of file <a class="el" href="a00090_source.html">bmalloc.h</a>.</p>
56
54
<hr/><h2>Member Function Documentation</h2>
57
<a class="anchor" id="a4fc04066445af644759bf65ebf765760"></a><!-- doxytag: member="bm::operation_functions::bit_operation_count" ref="a4fc04066445af644759bf65ebf765760" args="(unsigned i)" -->
59
<div class="memproto">
60
<div class="memtemplate">
61
template<bool T> </div>
62
<table class="memname">
64
<td class="memname">static <a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::bit_operation_count </td>
66
<td class="paramtype">unsigned </td>
67
<td class="paramname"> <em>i</em></td>
68
<td> ) </td>
69
<td><code> [inline, static]</code></td>
75
<p>Definition at line <a class="el" href="a00094_source.html#l05099">5099</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
77
<p>References <a class="el" href="a00094_source.html#l05084">bm::operation_functions< T >::bit_op_count_table_</a>.</p>
79
<p>Referenced by <a class="el" href="a00090_source.html#l00114">bm::combine_count_operation_with_block()</a>.</p>
83
<a class="anchor" id="a691347341c16758acd97a7cebaf2d28e"></a><!-- doxytag: member="bm::operation_functions::gap_op_to_bit" ref="a691347341c16758acd97a7cebaf2d28e" args="(unsigned i)" -->
85
<div class="memproto">
86
<div class="memtemplate">
87
template<bool T> </div>
88
<table class="memname">
90
<td class="memname">static <a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::gap_op_to_bit </td>
92
<td class="paramtype">unsigned </td>
93
<td class="paramname"> <em>i</em></td>
94
<td> ) </td>
95
<td><code> [inline, static]</code></td>
101
<p>Definition at line <a class="el" href="a00094_source.html#l05087">5087</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
103
<p>References <a class="el" href="a00094_source.html#l05080">bm::operation_functions< T >::gap2bit_table_</a>.</p>
107
<a class="anchor" id="adc10260f808b51e3870e1bbc7e5dffd4"></a><!-- doxytag: member="bm::operation_functions::gap_operation" ref="adc10260f808b51e3870e1bbc7e5dffd4" args="(unsigned i)" -->
108
<div class="memitem">
109
<div class="memproto">
110
<div class="memtemplate">
111
template<bool T> </div>
112
<table class="memname">
114
<td class="memname">static <a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::gap_operation </td>
116
<td class="paramtype">unsigned </td>
117
<td class="paramname"> <em>i</em></td>
118
<td> ) </td>
119
<td><code> [inline, static]</code></td>
125
<p>Definition at line <a class="el" href="a00094_source.html#l05093">5093</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
127
<p>References <a class="el" href="a00094_source.html#l05082">bm::operation_functions< T >::gapop_table_</a>.</p>
131
<hr/><h2>Field Documentation</h2>
132
<a class="anchor" id="a7c99937be5149113db2007bc554fbfb6"></a><!-- doxytag: member="bm::operation_functions::bit_op_count_table_" ref="a7c99937be5149113db2007bc554fbfb6" args="[bm::set_END]" -->
133
<div class="memitem">
134
<div class="memproto">
135
<div class="memtemplate">
136
template<bool T> </div>
137
<table class="memname">
139
<td class="memname"><a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::<a class="el" href="a00077.html#a7c99937be5149113db2007bc554fbfb6">bit_op_count_table_</a><code> [inline, static]</code></td>
144
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
151
&<a class="code" href="a00121.html#ga9765914087df2fc22ec18db8128f2a12" title="Performs bitblock AND operation and calculates bitcount of the result.">bit_operation_and_count</a>,
152
&<a class="code" href="a00121.html#gace08ab77feefb638daee164ee83118bc" title="Performs bitblock XOR operation and calculates bitcount of the result.">bit_operation_xor_count</a>,
153
&<a class="code" href="a00121.html#ga5a267aff3b56cc6dadf5a3a338e00a1d" title="Performs bitblock OR operation and calculates bitcount of the result.">bit_operation_or_count</a>,
154
&<a class="code" href="a00121.html#gaabb39bf01bf973cb7bf3648873921ab7" title="Performs bitblock SUB operation and calculates bitcount of the result.">bit_operation_sub_count</a>,
155
&<a class="code" href="a00121.html#ga53867faf377db72324b858a37063c0b8" title="Performs inverted bitblock SUB operation and calculates bitcount of the result.">bit_operation_sub_count_inv</a>,
160
<p>Definition at line <a class="el" href="a00094_source.html#l05084">5084</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
162
<p>Referenced by <a class="el" href="a00094_source.html#l05099">bm::operation_functions< T >::bit_operation_count()</a>.</p>
166
<a class="anchor" id="aee09fac26fae4f59affa6ef4eeaea757"></a><!-- doxytag: member="bm::operation_functions::gap2bit_table_" ref="aee09fac26fae4f59affa6ef4eeaea757" args="[bm::set_END]" -->
167
<div class="memitem">
168
<div class="memproto">
169
<div class="memtemplate">
170
template<bool T> </div>
171
<table class="memname">
173
<td class="memname"><a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::<a class="el" href="a00077.html#aee09fac26fae4f59affa6ef4eeaea757">gap2bit_table_</a><code> [inline, static]</code></td>
178
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
179
&gap_and_to_bitset<bm::gap_word_t>,
180
&gap_add_to_bitset<bm::gap_word_t>,
181
&gap_sub_to_bitset<bm::gap_word_t>,
182
&gap_xor_to_bitset<bm::gap_word_t>,
186
<p>Definition at line <a class="el" href="a00094_source.html#l05080">5080</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
188
<p>Referenced by <a class="el" href="a00094_source.html#l05087">bm::operation_functions< T >::gap_op_to_bit()</a>.</p>
192
<a class="anchor" id="aed0f01bb28a3bc16c7362d9fdb0e34b1"></a><!-- doxytag: member="bm::operation_functions::gapop_table_" ref="aed0f01bb28a3bc16c7362d9fdb0e34b1" args="[bm::set_END]" -->
193
<div class="memitem">
194
<div class="memproto">
195
<div class="memtemplate">
196
template<bool T> </div>
197
<table class="memname">
199
<td class="memname"><a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> <a class="el" href="a00077.html">bm::operation_functions</a>< T >::<a class="el" href="a00077.html#aed0f01bb28a3bc16c7362d9fdb0e34b1">gapop_table_</a><code> [inline, static]</code></td>
204
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
205
&<a class="code" href="a00120.html#ga1666464d22f7fd473db9aafcf2f77a63" title="GAP AND operation.">gap_operation_and</a>,
206
&<a class="code" href="a00120.html#gacda280af8910ae5fde37731a3a7a1226" title="GAP OR operation.">gap_operation_or</a>,
207
&<a class="code" href="a00120.html#gabe4c83e5e162c38e297116dd1cd05ac4" title="GAP SUB (AND NOT) operation.">gap_operation_sub</a>,
208
&<a class="code" href="a00120.html#gaa5e07ad0256bf784ad3397acbbd23bb2" title="GAP XOR operation.">gap_operation_xor</a>,
212
<p>Definition at line <a class="el" href="a00094_source.html#l05082">5082</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
214
<p>Referenced by <a class="el" href="a00094_source.html#l05093">bm::operation_functions< T >::gap_operation()</a>.</p>
218
<hr/>The documentation for this struct was generated from the following file:<ul>
219
<li><a class="el" href="a00094_source.html">bmfunc.h</a></li>
55
<a class="anchor" id="a2ed8d55900bad5292e06be4af220aa38"></a><!-- doxytag: member="bm::ptr_allocator::allocate" ref="a2ed8d55900bad5292e06be4af220aa38" args="(size_t n, const void *)" -->
57
<div class="memproto">
58
<table class="memname">
60
<td class="memname">static void* bm::ptr_allocator::allocate </td>
62
<td class="paramtype">size_t </td>
63
<td class="paramname"> <em>n</em>, </td>
66
<td class="paramkey"></td>
68
<td class="paramtype">const void * </td>
69
<td class="paramname"></td><td> </td>
74
<td></td><td></td><td><code> [inline, static]</code></td>
80
<p>The member function allocates storage for an array of n void* elements, by calling malloc. </p>
81
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the allocated memory. </dd></dl>
83
<p>Definition at line <a class="el" href="a00090_source.html#l00112">112</a> of file <a class="el" href="a00090_source.html">bmalloc.h</a>.</p>
87
<a class="anchor" id="ad7636f410ac891c14621d7bc3784a00c"></a><!-- doxytag: member="bm::ptr_allocator::deallocate" ref="ad7636f410ac891c14621d7bc3784a00c" args="(void *p, size_t)" -->
89
<div class="memproto">
90
<table class="memname">
92
<td class="memname">static void bm::ptr_allocator::deallocate </td>
94
<td class="paramtype">void * </td>
95
<td class="paramname"> <em>p</em>, </td>
98
<td class="paramkey"></td>
100
<td class="paramtype">size_t </td>
101
<td class="paramname"></td><td> </td>
106
<td></td><td></td><td><code> [inline, static]</code></td>
112
<p>The member function frees storage for an array of n <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> elements, by calling free. </p>
114
<p>Definition at line <a class="el" href="a00090_source.html#l00126">126</a> of file <a class="el" href="a00090_source.html">bmalloc.h</a>.</p>
118
<hr/>The documentation for this class was generated from the following file:<ul>
119
<li><a class="el" href="a00090_source.html">bmalloc.h</a></li>
222
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:48:13 2010 for BitMagic by
122
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Apr 25 09:37:46 2010 for BitMagic by
223
123
<a href="http://www.doxygen.org/index.html">
224
124
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>