29
29
<div class="contents">
30
<h1>bmdef.h File Reference</h1><code>#include <cassert></code><br/>
30
<h1>bmalgo_impl.h File Reference</h1><code>#include "<a class="el" href="a00092_source.html">bmdef.h</a>"</code><br/>
31
31
<div class="dynheader">
32
Include dependency graph for bmdef.h:</div>
32
Include dependency graph for bmalgo_impl.h:</div>
33
33
<div class="dynsection">
34
<div class="center"><img src="a00132.png" border="0" usemap="#bmdef_8h_map" alt=""/></div>
34
<div class="center"><img src="a00132.png" border="0" usemap="#bmalgo__impl_8h_map" alt=""/></div>
35
<map name="bmalgo__impl_8h_map" id="bmalgo__impl_8h">
36
<area shape="rect" href="a00092.html" title="bmdef.h" alt="" coords="24,83,91,112"/></map>
36
38
<div class="dynheader">
37
39
This graph shows which files directly or indirectly include this file:</div>
38
40
<div class="dynsection">
39
<div class="center"><img src="a00133.png" border="0" usemap="#bmdef_8hdep_map" alt=""/></div>
40
<map name="bmdef_8hdep_map" id="bmdef_8hdep">
41
<area shape="rect" href="a00084.html" title="bm.h" alt="" coords="409,237,460,267"/><area shape="rect" href="a00085.html" title="bmalgo.h" alt="" coords="117,315,192,344"/><area shape="rect" href="a00092.html" title="bmserial.h" alt="" coords="13,315,93,344"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="223,160,297,189"/><area shape="rect" href="a00094.html" title="bmsse4.h" alt="" coords="524,83,601,112"/><area shape="rect" href="a00093.html" title="bmsse2.h" alt="" coords="372,160,449,189"/><area shape="rect" href="a00086.html" title="bmalgo_impl.h" alt="" coords="27,237,131,267"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="140,83,207,112"/><area shape="rect" href="a00109.html" title="sample9.cpp" alt="" coords="523,392,619,421"/><area shape="rect" href="a00104.html" title="sample4.cpp" alt="" coords="93,392,189,421"/><area shape="rect" href="a00101.html" title="sample1.cpp" alt="" coords="917,315,1013,344"/><area shape="rect" href="a00102.html" title="sample2.cpp" alt="" coords="1037,315,1133,344"/><area shape="rect" href="a00103.html" title="sample3.cpp" alt="" coords="267,315,363,344"/><area shape="rect" href="a00105.html" title="sample5.cpp" alt="" coords="387,315,483,344"/><area shape="rect" href="a00106.html" title="sample6.cpp" alt="" coords="507,315,603,344"/><area shape="rect" href="a00107.html" title="sample7.cpp" alt="" coords="627,315,723,344"/><area shape="rect" href="a00108.html" title="sample8.cpp" alt="" coords="747,315,843,344"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="116,160,199,189"/></map>
41
<div class="center"><img src="a00133.png" border="0" usemap="#bmalgo__impl_8hdep_map" alt=""/></div>
42
<map name="bmalgo__impl_8hdep_map" id="bmalgo__impl_8hdep">
43
<area shape="rect" href="a00088.html" title="bmalgo.h" alt="" coords="20,83,95,112"/><area shape="rect" href="a00096.html" title="bmserial.h" alt="" coords="128,83,208,112"/><area shape="rect" href="a00114.html" title="sample9.cpp" alt="" coords="5,160,101,189"/><area shape="rect" href="a00109.html" title="sample4.cpp" alt="" coords="125,160,221,189"/></map>
44
46
<p><a href="a00089_source.html">Go to the source code of this file.</a></p>
45
47
<table border="0" cellpadding="0" cellspacing="0">
46
<tr><td colspan="2"><h2>Defines</h2></td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a3ae54e6a1680218d157ebc7fa486ed78">BM_x86</a></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#aa44515fab0ace8928d1cb82009a95bf8">BM_ASSERT</a> assert</td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a1365569f85f442c4914a3579f55df99b">FULL_BLOCK_ADDR</a> <a class="el" href="a00011.html">bm::all_set</a><true>::_block._p</td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a13ba598909515339ceede09e3b9b0198">IS_VALID_ADDR</a>(addr) (addr && (addr != FULL_BLOCK_ADDR))</td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a074acb37afea68caaffe3832d326eb44">IS_FULL_BLOCK</a>(addr) (addr == FULL_BLOCK_ADDR)</td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#accfe8650b3e8ee65da94f7712b3c44b8">IS_EMPTY_BLOCK</a>(addr) (addr == 0)</td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a41d8f6ada221ed5c6f95e9c6c821216a">BMPTR_SETBIT0</a>(ptr) ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) | 1 )</td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#aa5a3e35b91d48c7c8a8cf24c293f72e4">BMPTR_CLEARBIT0</a>(ptr) ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) & ~(<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)1 )</td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a11318a64d92080bbf8e2edc7b68e0bc9">BMPTR_TESTBIT0</a>(ptr) ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) & 1 )</td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a6a7c8b8ee3f3b60ab907c1699acb7aa0">BMGAP_PTR</a>(ptr) ((<a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>*)BMPTR_CLEARBIT0(ptr))</td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a93dbdb1a62ca0ce33149d3249dbf386e">BMSET_PTRGAP</a>(ptr) ptr = (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>*)BMPTR_SETBIT0(ptr)</td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a862d6f92b4de3ddb94fd367a800512eb">BM_IS_GAP</a>(obj, ptr, idx) ( BMPTR_TESTBIT0(ptr)!=0 )</td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a938734d014fb68dd8b2251fe8ec2b025">BMFORCEINLINE</a> inline</td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a7e6f87ba3230dece2125af5c32e84b05">BM_SET_MMX_GUARD</a> sse_empty_guard bm_mmx_guard_;</td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a80f4b7d710fa287d77100d211738dd32">BM_ALIGN16ATTR</a> __attribute__((aligned(16)))</td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga967f6a5264f47d8adb93f6bdf8cdc129">BM_INCWORD_BITCOUNT</a>(cnt, w)</td></tr>
48
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">bm::distance_metric_descriptor</a></td></tr>
50
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance metric descriptor, holds metric code and result. <a href="a00061.html#_details">More...</a><br/></td></tr>
51
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html">bm</a></td></tr>
53
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#gac38d64c8b27b652413a664cddd4d40ab">bm::distance_metric</a> { <br/>
55
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce">bm::COUNT_AND</a> = set_COUNT_AND,
56
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061">bm::COUNT_XOR</a> = set_COUNT_XOR,
57
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb">bm::COUNT_OR</a> = set_COUNT_OR,
58
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62">bm::COUNT_SUB_AB</a> = set_COUNT_SUB_AB,
60
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400">bm::COUNT_SUB_BA</a> = set_COUNT_SUB_BA,
61
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2">bm::COUNT_A</a> = set_COUNT_A,
62
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516">bm::COUNT_B</a> = set_COUNT_B
65
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Distance metrics codes defined for vectors A and B. </p>
66
<a href="a00125.html#gac38d64c8b27b652413a664cddd4d40ab">More...</a><br/></td></tr>
67
<tr><td colspan="2"><h2>Functions</h2></td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top">distance_metric </td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#ga158946ea41ca66c3e1bca62c92684788">bm::operation2metric</a> (set_operation op)</td></tr>
69
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation into compatible distance metric. <a href="a00125.html#ga158946ea41ca66c3e1bca62c92684788"></a><br/></td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#abecd5b24d5e394fd46a9db514cfa659a">bm::combine_count_operation_with_block</a> (const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
71
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different distance metrics. <a href="#abecd5b24d5e394fd46a9db514cfa659a"></a><br/></td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a24069ced9ea689034ff51246ae707ecc">bm::combine_any_operation_with_block</a> (const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
73
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different existense of distance metric. <a href="#a24069ced9ea689034ff51246ae707ecc"></a><br/></td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a2f81b8ce3d389973b4f867b0fcc98e7a">bm::combine_count_operation_with_block</a> (const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, distance_metric metric)</td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a093f2dadce40f42a184928c9d1456592">bm::combine_any_operation_with_block</a> (const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, distance_metric metric)</td></tr>
76
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
77
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ad47cf2dce876dcbc25aef4c7a222c66f">bm::distance_stage</a> (const BV &bv1, const distance_metric_descriptor *dmit, const distance_metric_descriptor *dmit_end, bool *is_all_and)</td></tr>
78
<tr><td class="mdescLeft"> </td><td class="mdescRight">Staging function for distance operation. <a href="#ad47cf2dce876dcbc25aef4c7a222c66f"></a><br/></td></tr>
79
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
80
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga815fef76f02576ab9ab58de0a45d8a4b">bm::distance_operation</a> (const BV &bv1, const BV &bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
81
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance computing template function. <a href="a00125.html#ga815fef76f02576ab9ab58de0a45d8a4b"></a><br/></td></tr>
82
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
83
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaa66525fd7a3f823d73678252a235982e">bm::distance_operation_any</a> (const BV &bv1, const BV &bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
84
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance screening template function. <a href="a00125.html#gaa66525fd7a3f823d73678252a235982e"></a><br/></td></tr>
85
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
86
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gae451cb4b87e8c0859b0614d2ffb99737">bm::count_and</a> (const BV &bv1, const BV &bv2)</td></tr>
87
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of AND operation of two bitsets. <a href="a00125.html#gae451cb4b87e8c0859b0614d2ffb99737"></a><br/></td></tr>
88
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
89
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga2d5393e05bcfc540840a4cee67fb771f">bm::any_and</a> (const BV &bv1, const BV &bv2)</td></tr>
90
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets. <a href="a00125.html#ga2d5393e05bcfc540840a4cee67fb771f"></a><br/></td></tr>
91
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
92
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gafc64a082dcaee07f70f7faf3e24f844e">bm::count_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
93
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets. <a href="a00125.html#gafc64a082dcaee07f70f7faf3e24f844e"></a><br/></td></tr>
94
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
95
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga2d63f41244b82d233acb53d88b326b82">bm::any_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
96
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets. <a href="a00125.html#ga2d63f41244b82d233acb53d88b326b82"></a><br/></td></tr>
97
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
98
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga902d8c1cd1f8a2538cd47d47f5d8d605">bm::count_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
99
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets. <a href="a00125.html#ga902d8c1cd1f8a2538cd47d47f5d8d605"></a><br/></td></tr>
100
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
101
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gabde2e210b9b1edd190e1f5a9ff22344c">bm::any_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets. <a href="a00125.html#gabde2e210b9b1edd190e1f5a9ff22344c"></a><br/></td></tr>
103
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
104
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga803c564668703fc3bf80067570c2c905">bm::count_or</a> (const BV &bv1, const BV &bv2)</td></tr>
105
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of OR operation of two bitsets. <a href="a00125.html#ga803c564668703fc3bf80067570c2c905"></a><br/></td></tr>
106
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
107
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaeda4f0cf54aa464cec09e740100caa79">bm::any_or</a> (const BV &bv1, const BV &bv2)</td></tr>
108
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets. <a href="a00125.html#gaeda4f0cf54aa464cec09e740100caa79"></a><br/></td></tr>
109
<tr><td class="memTemplParams" colspan="2">template<class It > </td></tr>
110
<tr><td class="memTemplItemLeft" align="right" valign="top">It </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#a86d5d5ccdb79d2b2ad552bd1caf34b2f">bm::block_range_scan</a> (It first, It last, unsigned nblock, unsigned *max_id)</td></tr>
111
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal algorithms scans the input for the block range limit. <a href="#a86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><br/></td></tr>
112
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
113
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#ga54ff78528c99ae3ca443eb99ba44785b">bm::combine_or</a> (BV &bv, It first, It last)</td></tr>
114
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR Combine bitvector and the iterable sequence. <a href="a00124.html#ga54ff78528c99ae3ca443eb99ba44785b"></a><br/></td></tr>
115
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
116
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#ga3cb362aee03de6a321495100ae5c8375">bm::combine_xor</a> (BV &bv, It first, It last)</td></tr>
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR Combine bitvector and the iterable sequence. <a href="a00124.html#ga3cb362aee03de6a321495100ae5c8375"></a><br/></td></tr>
118
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
119
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#gab88c5bf51484323e0139aa789d7f0b98">bm::combine_sub</a> (BV &bv, It first, It last)</td></tr>
120
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB Combine bitvector and the iterable sequence. <a href="a00124.html#gab88c5bf51484323e0139aa789d7f0b98"></a><br/></td></tr>
121
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
122
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#ga22922f71bd1eec8a5b663dc77b90cf6c">bm::combine_and_sorted</a> (BV &bv, It first, It last)</td></tr>
123
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00124.html#ga22922f71bd1eec8a5b663dc77b90cf6c"></a><br/></td></tr>
124
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
125
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#ga819bdab57a624a08456ea79161b9c5d2">bm::combine_and</a> (BV &bv, It first, It last)</td></tr>
126
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00124.html#ga819bdab57a624a08456ea79161b9c5d2"></a><br/></td></tr>
127
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
128
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#gac7a59d3bc266310ec127cb3efadb0d33">bm::count_intervals</a> (const BV &bv)</td></tr>
129
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector. <a href="a00124.html#gac7a59d3bc266310ec127cb3efadb0d33"></a><br/></td></tr>
130
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
131
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00124.html#gacd88ed9539553dd93419b7029e8a4584">bm::export_array</a> (BV &bv, It first, It last)</td></tr>
132
<tr><td class="mdescLeft"> </td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector. <a href="a00124.html#gacd88ed9539553dd93419b7029e8a4584"></a><br/></td></tr>
64
<hr/><h2>Define Documentation</h2>
65
<a class="anchor" id="a80f4b7d710fa287d77100d211738dd32"></a><!-- doxytag: member="bmdef.h::BM_ALIGN16ATTR" ref="a80f4b7d710fa287d77100d211738dd32" args="" -->
67
<div class="memproto">
68
<table class="memname">
70
<td class="memname">#define BM_ALIGN16ATTR __attribute__((aligned(16)))</td>
76
<p>Definition at line <a class="el" href="a00089_source.html#l00150">150</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
78
<p>Referenced by <a class="el" href="a00093_source.html#l00248">bm::sse2_bit_block_calc_count_change()</a>, <a class="el" href="a00093_source.html#l00075">bm::sse2_bit_count()</a>, and <a class="el" href="a00093_source.html#l00136">bm::sse2_bit_count_op()</a>.</p>
82
<a class="anchor" id="aa44515fab0ace8928d1cb82009a95bf8"></a><!-- doxytag: member="bmdef.h::BM_ASSERT" ref="aa44515fab0ace8928d1cb82009a95bf8" args="" -->
84
<div class="memproto">
85
<table class="memname">
87
<td class="memname">#define BM_ASSERT assert</td>
93
<p>Definition at line <a class="el" href="a00089_source.html#l00047">47</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
95
<p>Referenced by <a class="el" href="a00087_source.html#l00193">bm::mem_alloc< BA, PA >::alloc_gap_block()</a>, <a class="el" href="a00090_source.html#l02756">bm::bit_block_any_range()</a>, <a class="el" href="a00090_source.html#l02470">bm::bit_block_calc_count()</a>, <a class="el" href="a00090_source.html#l02569">bm::bit_block_calc_count_change()</a>, <a class="el" href="a00090_source.html#l02687">bm::bit_block_calc_count_range()</a>, <a class="el" href="a00090_source.html#l02266">bm::bit_convert_to_gap()</a>, <a class="el" href="a00090_source.html#l03981">bm::bit_count_nonzero_size()</a>, <a class="el" href="a00090_source.html#l04103">bm::bit_for_each_4()</a>, <a class="el" href="a00096_source.html#l00405">bm::bit_iblock_make_pcv()</a>, <a class="el" href="a00096_source.html#l00457">bm::bit_iblock_pcv_stat()</a>, <a class="el" href="a00096_source.html#l00478">bm::bit_iblock_reduce()</a>, <a class="el" href="a00090_source.html#l03399">bm::bit_operation_and()</a>, <a class="el" href="a00090_source.html#l03695">bm::bit_operation_or()</a>, <a class="el" href="a00090_source.html#l03793">bm::bit_operation_sub()</a>, <a class="el" href="a00090_source.html#l03889">bm::bit_operation_xor()</a>, <a class="el" href="a00090_source.html#l02233">bm::bitcmp()</a>, <a class="el" href="a00086_source.html#l01075">bm::block_range_scan()</a>, <a class="el" href="a00090_source.html#l00378">bm::globals< T >::bo::bo()</a>, <a class="el" href="a00086_source.html#l01350">bm::combine_and_sorted()</a>, <a class="el" href="a00086_source.html#l00114">bm::combine_count_operation_with_block()</a>, <a class="el" href="a00084_source.html#l02509">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00086_source.html#l01105">bm::combine_or()</a>, <a class="el" href="a00086_source.html#l01268">bm::combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">bm::combine_xor()</a>, <a class="el" href="a00099_source.html#l00339">bm::bvector_mini< A >::compare()</a>, <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00092_source.html#l02805">bm::operation_deserializer< BV >::deserialize()</a>, <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01090">bm::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00092_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00086_source.html#l01431">bm::export_array()</a>, <a class="el" href="a00087_source.html#l00205">bm::mem_alloc< BA, PA >::free_gap_block()</a>, <a class="el" href="a00100_source.html#l00229">bm::bit_out< TEncoder >::gamma()</a>, <a class="el" href="a00090_source.html#l01495">bm::gap_add_to_bitset()</a>, <a class="el" href="a00090_source.html#l01527">bm::gap_and_to_bitset()</a>, <a class="el" href="a00090_source.html#l00426">bm::gap_bfind()</a>, <a class="el" href="a00090_source.html#l00654">bm::gap_bit_count_range()</a>, <a class="el" href="a00090_source.html#l01596">bm::gap_bitset_and_any()</a>, <a class="el" href="a00090_source.html#l01560">bm::gap_bitset_and_count()</a>, <a class="el" href="a00090_source.html#l01834">bm::gap_bitset_or_any()</a>, <a class="el" href="a00090_source.html#l01787">bm::gap_bitset_or_count()</a>, <a class="el" href="a00090_source.html#l01668">bm::gap_bitset_sub_any()</a>, <a class="el" href="a00090_source.html#l01635">bm::gap_bitset_sub_count()</a>, <a class="el" href="a00090_source.html#l01744">bm::gap_bitset_xor_any()</a>, <a class="el" href="a00090_source.html#l01706">bm::gap_bitset_xor_count()</a>, <a class="el" href="a00090_source.html#l02194">bm::gap_calc_level()</a>, <a class="el" href="a00090_source.html#l01962">bm::gap_control_sum()</a>, <a class="el" href="a00090_source.html#l01190">bm::gap_find_in_block()</a>, <a class="el" href="a00090_source.html#l02014">bm::gap_init_range_block()</a>, <a class="el" href="a00090_source.html#l04422">bm::gap_overhead()</a>, <a class="el" href="a00090_source.html#l01993">bm::gap_set_all()</a>, <a class="el" href="a00090_source.html#l01098">bm::gap_set_value()</a>, <a class="el" href="a00090_source.html#l01431">bm::gap_sub_to_bitset()</a>, <a class="el" href="a00090_source.html#l00454">bm::gap_test()</a>, <a class="el" href="a00090_source.html#l01463">bm::gap_xor_to_bitset()</a>, <a class="el" href="a00096_source.html#l00059">bm::bit_grabber< T, BPC >::get()</a>, <a class="el" href="a00092_source.html#l02732">bm::serial_stream_iterator< DEC >::get_arr_bit()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00092_source.html#l02789">bm::serial_stream_iterator< DEC >::get_bit_block()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00092_source.html#l02771">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, <a class="el" href="a00090_source.html#l04450">bm::improve_gap_levels()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, <a class="el" href="a00086_source.html#l00069">bm::operation2metric()</a>, <a class="el" href="a00084_source.html#l00348">bm::bvector< Alloc, MS >::insert_iterator::operator=()</a>, <a class="el" href="a00084_source.html#l00870">bm::bvector< Alloc, MS >::operator[]()</a>, <a class="el" href="a00100_source.html#l00154">bm::bit_out< TEncoder >::put_bit()</a>, <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>, <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>, <a class="el" href="a00084_source.html#l00950">bm::bvector< Alloc, MS >::set_bit()</a>, <a class="el" href="a00084_source.html#l00962">bm::bvector< Alloc, MS >::set_bit_and()</a>, <a class="el" href="a00084_source.html#l00975">bm::bvector< Alloc, MS >::set_bit_conditional()</a>, <a class="el" href="a00090_source.html#l02177">bm::set_gap_level()</a>, <a class="el" href="a00084_source.html#l01618">bm::bvector< Alloc, MS >::set_range()</a>, <a class="el" href="a00090_source.html#l00251">bm::setop2op()</a>, <a class="el" href="a00099_source.html#l00483">bm::bvector_mini< A >::swap()</a>, <a class="el" href="a00096_source.html#l00602">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>, <a class="el" href="a00096_source.html#l00626">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore()</a>, <a class="el" href="a00096_source.html#l00274">bm::vect_bit_transpose()</a>, and <a class="el" href="a00090_source.html#l00286">bm::xor_swap()</a>.</p>
99
<a class="anchor" id="a862d6f92b4de3ddb94fd367a800512eb"></a><!-- doxytag: member="bmdef.h::BM_IS_GAP" ref="a862d6f92b4de3ddb94fd367a800512eb" args="(obj, ptr, idx)" -->
100
<div class="memitem">
101
<div class="memproto">
102
<table class="memname">
104
<td class="memname">#define BM_IS_GAP</td>
106
<td class="paramtype">obj, </td>
109
<td class="paramkey"></td>
111
<td class="paramtype">ptr, </td>
114
<td class="paramkey"></td>
116
<td class="paramtype">idx </td>
117
<td class="paramname"></td>
118
<td> ) </td>
119
<td> ( BMPTR_TESTBIT0(ptr)!=0 )</td>
125
<p>Definition at line <a class="el" href="a00089_source.html#l00094">94</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
127
<p>Referenced by <a class="el" href="a00084_source.html#l02042">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00084_source.html#l02509">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00084_source.html#l01484">bm::bvector< Alloc, MS >::combine_operation_with_block()</a>, <a class="el" href="a00084_source.html#l01912">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00086_source.html#l00688">bm::distance_operation()</a>, <a class="el" href="a00086_source.html#l00807">bm::distance_operation_any()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
131
<a class="anchor" id="a7e6f87ba3230dece2125af5c32e84b05"></a><!-- doxytag: member="bmdef.h::BM_SET_MMX_GUARD" ref="a7e6f87ba3230dece2125af5c32e84b05" args="" -->
132
<div class="memitem">
133
<div class="memproto">
134
<table class="memname">
136
<td class="memname">#define BM_SET_MMX_GUARD sse_empty_guard bm_mmx_guard_;</td>
142
<p>Definition at line <a class="el" href="a00089_source.html#l00136">136</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
144
<p>Referenced by <a class="el" href="a00084_source.html#l02509">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00086_source.html#l00688">bm::distance_operation()</a>, <a class="el" href="a00086_source.html#l00807">bm::distance_operation_any()</a>, <a class="el" href="a00084_source.html#l01775">bm::bvector< Alloc, MS >::invert()</a>, and <a class="el" href="a00084_source.html#l01618">bm::bvector< Alloc, MS >::set_range()</a>.</p>
148
<a class="anchor" id="a3ae54e6a1680218d157ebc7fa486ed78"></a><!-- doxytag: member="bmdef.h::BM_x86" ref="a3ae54e6a1680218d157ebc7fa486ed78" args="" -->
149
<div class="memitem">
150
<div class="memproto">
151
<table class="memname">
153
<td class="memname">#define BM_x86</td>
159
<p>Definition at line <a class="el" href="a00089_source.html#l00018">18</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
163
<a class="anchor" id="a938734d014fb68dd8b2251fe8ec2b025"></a><!-- doxytag: member="bmdef.h::BMFORCEINLINE" ref="a938734d014fb68dd8b2251fe8ec2b025" args="" -->
164
<div class="memitem">
165
<div class="memproto">
166
<table class="memname">
168
<td class="memname">#define BMFORCEINLINE inline</td>
174
<p>Definition at line <a class="el" href="a00089_source.html#l00116">116</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
178
<a class="anchor" id="a6a7c8b8ee3f3b60ab907c1699acb7aa0"></a><!-- doxytag: member="bmdef.h::BMGAP_PTR" ref="a6a7c8b8ee3f3b60ab907c1699acb7aa0" args="(ptr)" -->
179
<div class="memitem">
180
<div class="memproto">
181
<table class="memname">
183
<td class="memname">#define BMGAP_PTR</td>
185
<td class="paramtype">ptr </td>
186
<td class="paramname"></td>
187
<td> ) </td>
188
<td> ((<a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>*)BMPTR_CLEARBIT0(ptr))</td>
194
<p>Definition at line <a class="el" href="a00089_source.html#l00092">92</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
196
<p>Referenced by <a class="el" href="a00084_source.html#l02042">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00086_source.html#l00343">bm::combine_any_operation_with_block()</a>, <a class="el" href="a00086_source.html#l00114">bm::combine_count_operation_with_block()</a>, <a class="el" href="a00086_source.html#l01105">bm::combine_or()</a>, <a class="el" href="a00086_source.html#l01268">bm::combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">bm::combine_xor()</a>, <a class="el" href="a00084_source.html#l01912">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00086_source.html#l01431">bm::export_array()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
200
<a class="anchor" id="aa5a3e35b91d48c7c8a8cf24c293f72e4"></a><!-- doxytag: member="bmdef.h::BMPTR_CLEARBIT0" ref="aa5a3e35b91d48c7c8a8cf24c293f72e4" args="(ptr)" -->
201
<div class="memitem">
202
<div class="memproto">
203
<table class="memname">
205
<td class="memname">#define BMPTR_CLEARBIT0</td>
207
<td class="paramtype">ptr </td>
208
<td class="paramname"></td>
209
<td> ) </td>
210
<td> ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) & ~(<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)1 )</td>
216
<p>Definition at line <a class="el" href="a00089_source.html#l00081">81</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
220
<a class="anchor" id="a41d8f6ada221ed5c6f95e9c6c821216a"></a><!-- doxytag: member="bmdef.h::BMPTR_SETBIT0" ref="a41d8f6ada221ed5c6f95e9c6c821216a" args="(ptr)" -->
221
<div class="memitem">
222
<div class="memproto">
223
<table class="memname">
225
<td class="memname">#define BMPTR_SETBIT0</td>
227
<td class="paramtype">ptr </td>
228
<td class="paramname"></td>
229
<td> ) </td>
230
<td> ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) | 1 )</td>
236
<p>Definition at line <a class="el" href="a00089_source.html#l00080">80</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
240
<a class="anchor" id="a11318a64d92080bbf8e2edc7b68e0bc9"></a><!-- doxytag: member="bmdef.h::BMPTR_TESTBIT0" ref="a11318a64d92080bbf8e2edc7b68e0bc9" args="(ptr)" -->
241
<div class="memitem">
242
<div class="memproto">
243
<table class="memname">
245
<td class="memname">#define BMPTR_TESTBIT0</td>
247
<td class="paramtype">ptr </td>
248
<td class="paramname"></td>
249
<td> ) </td>
250
<td> ( ((<a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>)ptr) & 1 )</td>
256
<p>Definition at line <a class="el" href="a00089_source.html#l00082">82</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
260
<a class="anchor" id="a93dbdb1a62ca0ce33149d3249dbf386e"></a><!-- doxytag: member="bmdef.h::BMSET_PTRGAP" ref="a93dbdb1a62ca0ce33149d3249dbf386e" args="(ptr)" -->
261
<div class="memitem">
262
<div class="memproto">
263
<table class="memname">
265
<td class="memname">#define BMSET_PTRGAP</td>
267
<td class="paramtype">ptr </td>
268
<td class="paramname"></td>
269
<td> ) </td>
270
<td> ptr = (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>*)BMPTR_SETBIT0(ptr)</td>
276
<p>Definition at line <a class="el" href="a00089_source.html#l00093">93</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
280
<a class="anchor" id="a1365569f85f442c4914a3579f55df99b"></a><!-- doxytag: member="bmdef.h::FULL_BLOCK_ADDR" ref="a1365569f85f442c4914a3579f55df99b" args="" -->
281
<div class="memitem">
282
<div class="memproto">
283
<table class="memname">
285
<td class="memname">#define FULL_BLOCK_ADDR <a class="el" href="a00011.html">bm::all_set</a><true>::_block._p</td>
291
<p>Definition at line <a class="el" href="a00089_source.html#l00057">57</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
293
<p>Referenced by <a class="el" href="a00090_source.html#l03695">bm::bit_operation_or()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, and <a class="el" href="a00090_source.html#l01940">bm::gap_convert_to_bitset_smart()</a>.</p>
297
<a class="anchor" id="accfe8650b3e8ee65da94f7712b3c44b8"></a><!-- doxytag: member="bmdef.h::IS_EMPTY_BLOCK" ref="accfe8650b3e8ee65da94f7712b3c44b8" args="(addr)" -->
298
<div class="memitem">
299
<div class="memproto">
300
<table class="memname">
302
<td class="memname">#define IS_EMPTY_BLOCK</td>
304
<td class="paramtype">addr </td>
305
<td class="paramname"></td>
306
<td> ) </td>
307
<td> (addr == 0)</td>
313
<p>Definition at line <a class="el" href="a00089_source.html#l00060">60</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
315
<p>Referenced by <a class="el" href="a00090_source.html#l03399">bm::bit_operation_and()</a>, <a class="el" href="a00090_source.html#l03487">bm::bit_operation_and_any()</a>, <a class="el" href="a00090_source.html#l03464">bm::bit_operation_and_count()</a>, <a class="el" href="a00090_source.html#l03625">bm::bit_operation_or_any()</a>, <a class="el" href="a00090_source.html#l03593">bm::bit_operation_or_count()</a>, <a class="el" href="a00090_source.html#l03563">bm::bit_operation_sub_any()</a>, <a class="el" href="a00090_source.html#l03512">bm::bit_operation_sub_count()</a>, <a class="el" href="a00090_source.html#l03952">bm::bit_operation_xor_any()</a>, and <a class="el" href="a00090_source.html#l03927">bm::bit_operation_xor_count()</a>.</p>
319
<a class="anchor" id="a074acb37afea68caaffe3832d326eb44"></a><!-- doxytag: member="bmdef.h::IS_FULL_BLOCK" ref="a074acb37afea68caaffe3832d326eb44" args="(addr)" -->
320
<div class="memitem">
321
<div class="memproto">
322
<table class="memname">
324
<td class="memname">#define IS_FULL_BLOCK</td>
326
<td class="paramtype">addr </td>
327
<td class="paramname"></td>
328
<td> ) </td>
329
<td> (addr == FULL_BLOCK_ADDR)</td>
335
<p>Definition at line <a class="el" href="a00089_source.html#l00059">59</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
337
<p>Referenced by <a class="el" href="a00090_source.html#l03399">bm::bit_operation_and()</a>, <a class="el" href="a00090_source.html#l03695">bm::bit_operation_or()</a>, <a class="el" href="a00090_source.html#l03793">bm::bit_operation_sub()</a>, and <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>.</p>
341
<a class="anchor" id="a13ba598909515339ceede09e3b9b0198"></a><!-- doxytag: member="bmdef.h::IS_VALID_ADDR" ref="a13ba598909515339ceede09e3b9b0198" args="(addr)" -->
342
<div class="memitem">
343
<div class="memproto">
344
<table class="memname">
346
<td class="memname">#define IS_VALID_ADDR</td>
348
<td class="paramtype">addr </td>
349
<td class="paramname"></td>
350
<td> ) </td>
351
<td> (addr && (addr != FULL_BLOCK_ADDR))</td>
357
<p>Definition at line <a class="el" href="a00089_source.html#l00058">58</a> of file <a class="el" href="a00089_source.html">bmdef.h</a>.</p>
359
<p>Referenced by <a class="el" href="a00090_source.html#l03399">bm::bit_operation_and()</a>, <a class="el" href="a00090_source.html#l03695">bm::bit_operation_or()</a>, <a class="el" href="a00090_source.html#l03793">bm::bit_operation_sub()</a>, <a class="el" href="a00090_source.html#l03889">bm::bit_operation_xor()</a>, <a class="el" href="a00084_source.html#l02042">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00087_source.html#l00180">bm::mem_alloc< BA, PA >::free_bit_block()</a>, and <a class="el" href="a00087_source.html#l00205">bm::mem_alloc< BA, PA >::free_gap_block()</a>.</p>
364
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:36 2009 for BitMagic by
135
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:19 2010 for BitMagic by
365
136
<a href="http://www.doxygen.org/index.html">
366
137
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>