~ubuntu-branches/ubuntu/trusty/bmagic/trusty

« back to all changes in this revision

Viewing changes to doc/html/a00125.html

  • Committer: Bazaar Package Importer
  • Author(s): Roberto C. Sanchez
  • Date: 2010-04-08 16:47:58 UTC
  • mfrom: (4.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20100408164758-3vu6wmrk1dnzqnnj
Tags: 3.6.4-1
* New upstream release
* Update to Standards-Version 3.8.4 (no changes)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
 
<title>BitMagic: Distance metrics</title>
 
5
<title>BitMagic: Set algorithms</title>
6
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
8
</head>
21
21
  </div>
22
22
</div>
23
23
<div class="contents">
24
 
<h1>Distance metrics<br/>
 
24
<h1>Set algorithms<br/>
25
25
<small>
26
 
[<a class="el" href="a00124.html">Set algorithms</a>]</small>
 
26
[<a class="el" href="a00118.html">BitMagic C++ Library</a>]</small>
27
27
</h1>
28
28
<p><div class="dynheader">
29
 
Collaboration diagram for Distance metrics:</div>
 
29
Collaboration diagram for Set algorithms:</div>
30
30
<div class="dynsection">
31
31
<center><table><tr><td><img src="a00125.png" border="0" alt="" usemap="#a00125_map"/>
32
32
<map name="a00125_map" id="a00125">
33
 
<area shape="rect" href="a00124.html" title="Set algorithms" alt="" coords="7,5,111,35"/></map></td></tr></table></center>
 
33
<area shape="rect" href="a00118.html" title="For more information please visit: http://bmagic.sourceforge.net." alt="" coords="5,5,149,35"/><area shape="rect" href="a00126.html" title="Distance metrics" alt="" coords="352,5,472,35"/></map></td></tr></table></center>
34
34
</div>
35
35
</p>
36
36
<table border="0" cellpadding="0" cellspacing="0">
37
 
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
38
 
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#gac38d64c8b27b652413a664cddd4d40ab">bm::distance_metric</a> { <br/>
39
 
&nbsp;&nbsp;<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce">bm::COUNT_AND</a> =  set_COUNT_AND, 
40
 
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061">bm::COUNT_XOR</a> =  set_COUNT_XOR, 
41
 
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb">bm::COUNT_OR</a> =  set_COUNT_OR, 
42
 
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62">bm::COUNT_SUB_AB</a> =  set_COUNT_SUB_AB, 
43
 
<br/>
44
 
&nbsp;&nbsp;<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400">bm::COUNT_SUB_BA</a> =  set_COUNT_SUB_BA, 
45
 
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2">bm::COUNT_A</a> =  set_COUNT_A, 
46
 
<a class="el" href="a00125.html#ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516">bm::COUNT_B</a> =  set_COUNT_B
47
 
<br/>
48
 
 }</td></tr>
49
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Distance metrics codes defined for vectors A and B. </p>
50
 
 <a href="a00125.html#gac38d64c8b27b652413a664cddd4d40ab">More...</a><br/></td></tr>
 
37
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
 
38
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">bm::random_subset&lt; BV &gt;</a></td></tr>
 
39
<tr><td colspan="2"><h2>Modules</h2></td></tr>
 
40
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html">Distance metrics</a></td></tr>
51
41
<tr><td colspan="2"><h2>Functions</h2></td></tr>
52
 
<tr><td class="memItemLeft" align="right" valign="top">distance_metric&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#ga158946ea41ca66c3e1bca62c92684788">bm::operation2metric</a> (set_operation op)</td></tr>
53
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert set operation into compatible distance metric.  <a href="#ga158946ea41ca66c3e1bca62c92684788"></a><br/></td></tr>
54
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
55
 
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga815fef76f02576ab9ab58de0a45d8a4b">bm::distance_operation</a> (const BV &amp;bv1, const BV &amp;bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
56
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance computing template function.  <a href="#ga815fef76f02576ab9ab58de0a45d8a4b"></a><br/></td></tr>
57
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
58
 
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaa66525fd7a3f823d73678252a235982e">bm::distance_operation_any</a> (const BV &amp;bv1, const BV &amp;bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)</td></tr>
59
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance screening template function.  <a href="#gaa66525fd7a3f823d73678252a235982e"></a><br/></td></tr>
60
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
61
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gae451cb4b87e8c0859b0614d2ffb99737">bm::count_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
62
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of AND operation of two bitsets.  <a href="#gae451cb4b87e8c0859b0614d2ffb99737"></a><br/></td></tr>
63
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
64
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga2d5393e05bcfc540840a4cee67fb771f">bm::any_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
65
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets.  <a href="#ga2d5393e05bcfc540840a4cee67fb771f"></a><br/></td></tr>
66
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
67
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gafc64a082dcaee07f70f7faf3e24f844e">bm::count_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
68
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets.  <a href="#gafc64a082dcaee07f70f7faf3e24f844e"></a><br/></td></tr>
69
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
70
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga2d63f41244b82d233acb53d88b326b82">bm::any_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
71
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets.  <a href="#ga2d63f41244b82d233acb53d88b326b82"></a><br/></td></tr>
72
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
73
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga902d8c1cd1f8a2538cd47d47f5d8d605">bm::count_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
74
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets.  <a href="#ga902d8c1cd1f8a2538cd47d47f5d8d605"></a><br/></td></tr>
75
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
76
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gabde2e210b9b1edd190e1f5a9ff22344c">bm::any_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
77
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets.  <a href="#gabde2e210b9b1edd190e1f5a9ff22344c"></a><br/></td></tr>
78
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
79
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga803c564668703fc3bf80067570c2c905">bm::count_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
80
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of OR operation of two bitsets.  <a href="#ga803c564668703fc3bf80067570c2c905"></a><br/></td></tr>
81
 
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
82
 
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaeda4f0cf54aa464cec09e740100caa79">bm::any_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
83
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets.  <a href="#gaeda4f0cf54aa464cec09e740100caa79"></a><br/></td></tr>
 
42
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
43
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga54ff78528c99ae3ca443eb99ba44785b">bm::combine_or</a> (BV &amp;bv, It first, It last)</td></tr>
 
44
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR Combine bitvector and the iterable sequence.  <a href="#ga54ff78528c99ae3ca443eb99ba44785b"></a><br/></td></tr>
 
45
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
46
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3cb362aee03de6a321495100ae5c8375">bm::combine_xor</a> (BV &amp;bv, It first, It last)</td></tr>
 
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR Combine bitvector and the iterable sequence.  <a href="#ga3cb362aee03de6a321495100ae5c8375"></a><br/></td></tr>
 
48
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
49
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gab88c5bf51484323e0139aa789d7f0b98">bm::combine_sub</a> (BV &amp;bv, It first, It last)</td></tr>
 
50
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB Combine bitvector and the iterable sequence.  <a href="#gab88c5bf51484323e0139aa789d7f0b98"></a><br/></td></tr>
 
51
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
52
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga22922f71bd1eec8a5b663dc77b90cf6c">bm::combine_and_sorted</a> (BV &amp;bv, It first, It last)</td></tr>
 
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="#ga22922f71bd1eec8a5b663dc77b90cf6c"></a><br/></td></tr>
 
54
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
55
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga819bdab57a624a08456ea79161b9c5d2">bm::combine_and</a> (BV &amp;bv, It first, It last)</td></tr>
 
56
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="#ga819bdab57a624a08456ea79161b9c5d2"></a><br/></td></tr>
 
57
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
58
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gac7a59d3bc266310ec127cb3efadb0d33">bm::count_intervals</a> (const BV &amp;bv)</td></tr>
 
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector.  <a href="#gac7a59d3bc266310ec127cb3efadb0d33"></a><br/></td></tr>
 
60
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
61
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gacd88ed9539553dd93419b7029e8a4584">bm::export_array</a> (BV &amp;bv, It first, It last)</td></tr>
 
62
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector.  <a href="#gacd88ed9539553dd93419b7029e8a4584"></a><br/></td></tr>
84
63
</table>
85
64
<hr/><a name="_details"></a><h2>Detailed Description</h2>
86
 
<p>Algorithms to compute binary distance metrics </p>
87
 
<hr/><h2>Enumeration Type Documentation</h2>
88
 
<a class="anchor" id="gac38d64c8b27b652413a664cddd4d40ab"></a><!-- doxytag: member="bm::distance_metric" ref="gac38d64c8b27b652413a664cddd4d40ab" args="" -->
89
 
<div class="memitem">
90
 
<div class="memproto">
91
 
      <table class="memname">
92
 
        <tr>
93
 
          <td class="memname">enum <a class="el" href="a00125.html#gac38d64c8b27b652413a664cddd4d40ab">bm::distance_metric</a></td>
94
 
        </tr>
95
 
      </table>
96
 
</div>
97
 
<div class="memdoc">
98
 
 
99
 
<p>Distance metrics codes defined for vectors A and B. </p>
100
 
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
101
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce"></a><!-- doxytag: member="COUNT_AND" ref="ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce" args="" -->COUNT_AND</em>&nbsp;</td><td>
102
 
<p>(A &amp; B).count() </p>
103
 
</td></tr>
104
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061"></a><!-- doxytag: member="COUNT_XOR" ref="ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061" args="" -->COUNT_XOR</em>&nbsp;</td><td>
105
 
<p>(A ^ B).count() </p>
106
 
</td></tr>
107
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb"></a><!-- doxytag: member="COUNT_OR" ref="ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb" args="" -->COUNT_OR</em>&nbsp;</td><td>
108
 
<p>(A | B).count() </p>
109
 
</td></tr>
110
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62"></a><!-- doxytag: member="COUNT_SUB_AB" ref="ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62" args="" -->COUNT_SUB_AB</em>&nbsp;</td><td>
111
 
<p>(A - B).count() </p>
112
 
</td></tr>
113
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400"></a><!-- doxytag: member="COUNT_SUB_BA" ref="ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400" args="" -->COUNT_SUB_BA</em>&nbsp;</td><td>
114
 
<p>(B - A).count() </p>
115
 
</td></tr>
116
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2"></a><!-- doxytag: member="COUNT_A" ref="ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2" args="" -->COUNT_A</em>&nbsp;</td><td>
117
 
<p>A.count(). </p>
118
 
</td></tr>
119
 
<tr><td valign="top"><em><a class="anchor" id="ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516"></a><!-- doxytag: member="COUNT_B" ref="ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516" args="" -->COUNT_B</em>&nbsp;</td><td>
120
 
<p>B.count(). </p>
121
 
</td></tr>
122
 
</table>
123
 
</dd>
124
 
</dl>
125
 
 
126
 
<p>Definition at line <a class="el" href="a00089_source.html#l00053">53</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
127
 
 
128
 
</div>
129
 
</div>
 
65
<p>Set algorithms </p>
130
66
<hr/><h2>Function Documentation</h2>
131
 
<a class="anchor" id="ga2d5393e05bcfc540840a4cee67fb771f"></a><!-- doxytag: member="bm::any_and" ref="ga2d5393e05bcfc540840a4cee67fb771f" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
132
 
<div class="memitem">
133
 
<div class="memproto">
134
 
<div class="memtemplate">
135
 
template&lt;class BV &gt; </div>
136
 
      <table class="memname">
137
 
        <tr>
138
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::any_and </td>
139
 
          <td>(</td>
140
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
141
 
          <td class="paramname"> <em>bv1</em>, </td>
142
 
        </tr>
143
 
        <tr>
144
 
          <td class="paramkey"></td>
145
 
          <td></td>
146
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
147
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
148
 
        </tr>
149
 
        <tr>
150
 
          <td></td>
151
 
          <td>)</td>
152
 
          <td></td><td></td><td><code> [inline]</code></td>
153
 
        </tr>
154
 
      </table>
155
 
</div>
156
 
<div class="memdoc">
157
 
 
158
 
<p>Computes if there is any bit in AND operation of two bitsets. </p>
159
 
<dl><dt><b>Parameters:</b></dt><dd>
160
 
  <table border="0" cellspacing="2" cellpadding="0">
161
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
162
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
163
 
  </table>
164
 
  </dd>
165
 
</dl>
166
 
<dl class="return"><dt><b>Returns:</b></dt><dd>non zero value if there is any bit </dd></dl>
167
 
 
168
 
<p>Definition at line <a class="el" href="a00089_source.html#l00959">959</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
169
 
 
170
 
<p>References <a class="el" href="a00089_source.html#l00055">bm::COUNT_AND</a>, <a class="el" href="a00089_source.html#l00807">bm::distance_operation_any()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
171
 
 
172
 
</div>
173
 
</div>
174
 
<a class="anchor" id="gaeda4f0cf54aa464cec09e740100caa79"></a><!-- doxytag: member="bm::any_or" ref="gaeda4f0cf54aa464cec09e740100caa79" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
175
 
<div class="memitem">
176
 
<div class="memproto">
177
 
<div class="memtemplate">
178
 
template&lt;class BV &gt; </div>
179
 
      <table class="memname">
180
 
        <tr>
181
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::any_or </td>
182
 
          <td>(</td>
183
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
184
 
          <td class="paramname"> <em>bv1</em>, </td>
185
 
        </tr>
186
 
        <tr>
187
 
          <td class="paramkey"></td>
188
 
          <td></td>
189
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
190
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
191
 
        </tr>
192
 
        <tr>
193
 
          <td></td>
194
 
          <td>)</td>
195
 
          <td></td><td></td><td><code> [inline]</code></td>
196
 
        </tr>
197
 
      </table>
198
 
</div>
199
 
<div class="memdoc">
200
 
 
201
 
<p>Computes if there is any bit in OR operation of two bitsets. </p>
202
 
<dl><dt><b>Parameters:</b></dt><dd>
203
 
  <table border="0" cellspacing="2" cellpadding="0">
204
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
205
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
206
 
  </table>
207
 
  </dd>
208
 
</dl>
209
 
<dl class="return"><dt><b>Returns:</b></dt><dd>non zero value if there is any bit </dd></dl>
210
 
 
211
 
<p>Definition at line <a class="el" href="a00089_source.html#l01061">1061</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
212
 
 
213
 
<p>References <a class="el" href="a00089_source.html#l00057">bm::COUNT_OR</a>, <a class="el" href="a00089_source.html#l00807">bm::distance_operation_any()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
214
 
 
215
 
</div>
216
 
</div>
217
 
<a class="anchor" id="gabde2e210b9b1edd190e1f5a9ff22344c"></a><!-- doxytag: member="bm::any_sub" ref="gabde2e210b9b1edd190e1f5a9ff22344c" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
218
 
<div class="memitem">
219
 
<div class="memproto">
220
 
<div class="memtemplate">
221
 
template&lt;class BV &gt; </div>
222
 
      <table class="memname">
223
 
        <tr>
224
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::any_sub </td>
225
 
          <td>(</td>
226
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
227
 
          <td class="paramname"> <em>bv1</em>, </td>
228
 
        </tr>
229
 
        <tr>
230
 
          <td class="paramkey"></td>
231
 
          <td></td>
232
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
233
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
234
 
        </tr>
235
 
        <tr>
236
 
          <td></td>
237
 
          <td>)</td>
238
 
          <td></td><td></td><td><code> [inline]</code></td>
239
 
        </tr>
240
 
      </table>
241
 
</div>
242
 
<div class="memdoc">
243
 
 
244
 
<p>Computes if there is any bit in SUB operation of two bitsets. </p>
245
 
<dl><dt><b>Parameters:</b></dt><dd>
246
 
  <table border="0" cellspacing="2" cellpadding="0">
247
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
248
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
249
 
  </table>
250
 
  </dd>
251
 
</dl>
252
 
<dl class="return"><dt><b>Returns:</b></dt><dd>non zero value if there is any bit </dd></dl>
253
 
 
254
 
<p>Definition at line <a class="el" href="a00089_source.html#l01028">1028</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
255
 
 
256
 
<p>References <a class="el" href="a00089_source.html#l00058">bm::COUNT_SUB_AB</a>, <a class="el" href="a00089_source.html#l00807">bm::distance_operation_any()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
257
 
 
258
 
</div>
259
 
</div>
260
 
<a class="anchor" id="ga2d63f41244b82d233acb53d88b326b82"></a><!-- doxytag: member="bm::any_xor" ref="ga2d63f41244b82d233acb53d88b326b82" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
261
 
<div class="memitem">
262
 
<div class="memproto">
263
 
<div class="memtemplate">
264
 
template&lt;class BV &gt; </div>
265
 
      <table class="memname">
266
 
        <tr>
267
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::any_xor </td>
268
 
          <td>(</td>
269
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
270
 
          <td class="paramname"> <em>bv1</em>, </td>
271
 
        </tr>
272
 
        <tr>
273
 
          <td class="paramkey"></td>
274
 
          <td></td>
275
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
276
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
277
 
        </tr>
278
 
        <tr>
279
 
          <td></td>
280
 
          <td>)</td>
281
 
          <td></td><td></td><td><code> [inline]</code></td>
282
 
        </tr>
283
 
      </table>
284
 
</div>
285
 
<div class="memdoc">
286
 
 
287
 
<p>Computes if there is any bit in XOR operation of two bitsets. </p>
288
 
<dl><dt><b>Parameters:</b></dt><dd>
289
 
  <table border="0" cellspacing="2" cellpadding="0">
290
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
291
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
292
 
  </table>
293
 
  </dd>
294
 
</dl>
295
 
<dl class="return"><dt><b>Returns:</b></dt><dd>non zero value if there is any bit </dd></dl>
296
 
 
297
 
<p>Definition at line <a class="el" href="a00089_source.html#l00993">993</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
298
 
 
299
 
<p>References <a class="el" href="a00089_source.html#l00056">bm::COUNT_XOR</a>, <a class="el" href="a00089_source.html#l00807">bm::distance_operation_any()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
300
 
 
301
 
</div>
302
 
</div>
303
 
<a class="anchor" id="gae451cb4b87e8c0859b0614d2ffb99737"></a><!-- doxytag: member="bm::count_and" ref="gae451cb4b87e8c0859b0614d2ffb99737" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
304
 
<div class="memitem">
305
 
<div class="memproto">
306
 
<div class="memtemplate">
307
 
template&lt;class BV &gt; </div>
308
 
      <table class="memname">
309
 
        <tr>
310
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::count_and </td>
311
 
          <td>(</td>
312
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
313
 
          <td class="paramname"> <em>bv1</em>, </td>
314
 
        </tr>
315
 
        <tr>
316
 
          <td class="paramkey"></td>
317
 
          <td></td>
318
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
319
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
320
 
        </tr>
321
 
        <tr>
322
 
          <td></td>
323
 
          <td>)</td>
324
 
          <td></td><td></td><td><code> [inline]</code></td>
325
 
        </tr>
326
 
      </table>
327
 
</div>
328
 
<div class="memdoc">
329
 
 
330
 
<p>Computes bitcount of AND operation of two bitsets. </p>
331
 
<dl><dt><b>Parameters:</b></dt><dd>
332
 
  <table border="0" cellspacing="2" cellpadding="0">
333
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
334
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
335
 
  </table>
336
 
  </dd>
337
 
</dl>
338
 
<dl class="return"><dt><b>Returns:</b></dt><dd>bitcount of the result </dd></dl>
339
 
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00009.html#a3">sample9.cpp</a>.</dd>
340
 
</dl>
341
 
<p>Definition at line <a class="el" href="a00089_source.html#l00943">943</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
342
 
 
343
 
<p>References <a class="el" href="a00089_source.html#l00055">bm::COUNT_AND</a>, <a class="el" href="a00089_source.html#l00688">bm::distance_operation()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
344
 
 
345
 
<p>Referenced by <a class="el" href="a00114_source.html#l00047">main()</a>.</p>
346
 
 
347
 
</div>
348
 
</div>
349
 
<a class="anchor" id="ga803c564668703fc3bf80067570c2c905"></a><!-- doxytag: member="bm::count_or" ref="ga803c564668703fc3bf80067570c2c905" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
350
 
<div class="memitem">
351
 
<div class="memproto">
352
 
<div class="memtemplate">
353
 
template&lt;class BV &gt; </div>
354
 
      <table class="memname">
355
 
        <tr>
356
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::count_or </td>
357
 
          <td>(</td>
358
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
359
 
          <td class="paramname"> <em>bv1</em>, </td>
360
 
        </tr>
361
 
        <tr>
362
 
          <td class="paramkey"></td>
363
 
          <td></td>
364
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
365
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
366
 
        </tr>
367
 
        <tr>
368
 
          <td></td>
369
 
          <td>)</td>
370
 
          <td></td><td></td><td><code> [inline]</code></td>
371
 
        </tr>
372
 
      </table>
373
 
</div>
374
 
<div class="memdoc">
375
 
 
376
 
<p>Computes bitcount of OR operation of two bitsets. </p>
377
 
<dl><dt><b>Parameters:</b></dt><dd>
378
 
  <table border="0" cellspacing="2" cellpadding="0">
379
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
380
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
381
 
  </table>
382
 
  </dd>
383
 
</dl>
384
 
<dl class="return"><dt><b>Returns:</b></dt><dd>bitcount of the result </dd></dl>
385
 
 
386
 
<p>Definition at line <a class="el" href="a00089_source.html#l01045">1045</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
387
 
 
388
 
<p>References <a class="el" href="a00089_source.html#l00057">bm::COUNT_OR</a>, <a class="el" href="a00089_source.html#l00688">bm::distance_operation()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
389
 
 
390
 
<p>Referenced by <a class="el" href="a00096_source.html#l02899">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>.</p>
391
 
 
392
 
</div>
393
 
</div>
394
 
<a class="anchor" id="ga902d8c1cd1f8a2538cd47d47f5d8d605"></a><!-- doxytag: member="bm::count_sub" ref="ga902d8c1cd1f8a2538cd47d47f5d8d605" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
395
 
<div class="memitem">
396
 
<div class="memproto">
397
 
<div class="memtemplate">
398
 
template&lt;class BV &gt; </div>
399
 
      <table class="memname">
400
 
        <tr>
401
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::count_sub </td>
402
 
          <td>(</td>
403
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
404
 
          <td class="paramname"> <em>bv1</em>, </td>
405
 
        </tr>
406
 
        <tr>
407
 
          <td class="paramkey"></td>
408
 
          <td></td>
409
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
410
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
411
 
        </tr>
412
 
        <tr>
413
 
          <td></td>
414
 
          <td>)</td>
415
 
          <td></td><td></td><td><code> [inline]</code></td>
416
 
        </tr>
417
 
      </table>
418
 
</div>
419
 
<div class="memdoc">
420
 
 
421
 
<p>Computes bitcount of SUB operation of two bitsets. </p>
422
 
<dl><dt><b>Parameters:</b></dt><dd>
423
 
  <table border="0" cellspacing="2" cellpadding="0">
424
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
425
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
426
 
  </table>
427
 
  </dd>
428
 
</dl>
429
 
<dl class="return"><dt><b>Returns:</b></dt><dd>bitcount of the result </dd></dl>
430
 
 
431
 
<p>Definition at line <a class="el" href="a00089_source.html#l01011">1011</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
432
 
 
433
 
<p>References <a class="el" href="a00089_source.html#l00058">bm::COUNT_SUB_AB</a>, <a class="el" href="a00089_source.html#l00688">bm::distance_operation()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
434
 
 
435
 
</div>
436
 
</div>
437
 
<a class="anchor" id="gafc64a082dcaee07f70f7faf3e24f844e"></a><!-- doxytag: member="bm::count_xor" ref="gafc64a082dcaee07f70f7faf3e24f844e" args="(const BV &amp;bv1, const BV &amp;bv2)" -->
438
 
<div class="memitem">
439
 
<div class="memproto">
440
 
<div class="memtemplate">
441
 
template&lt;class BV &gt; </div>
442
 
      <table class="memname">
443
 
        <tr>
444
 
          <td class="memname"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::count_xor </td>
445
 
          <td>(</td>
446
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
447
 
          <td class="paramname"> <em>bv1</em>, </td>
448
 
        </tr>
449
 
        <tr>
450
 
          <td class="paramkey"></td>
451
 
          <td></td>
452
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
453
 
          <td class="paramname"> <em>bv2</em></td><td>&nbsp;</td>
454
 
        </tr>
455
 
        <tr>
456
 
          <td></td>
457
 
          <td>)</td>
458
 
          <td></td><td></td><td><code> [inline]</code></td>
459
 
        </tr>
460
 
      </table>
461
 
</div>
462
 
<div class="memdoc">
463
 
 
464
 
<p>Computes bitcount of XOR operation of two bitsets. </p>
465
 
<dl><dt><b>Parameters:</b></dt><dd>
466
 
  <table border="0" cellspacing="2" cellpadding="0">
467
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
468
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- Argument bit-vector. </td></tr>
469
 
  </table>
470
 
  </dd>
471
 
</dl>
472
 
<dl class="return"><dt><b>Returns:</b></dt><dd>bitcount of the result </dd></dl>
473
 
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00009.html#a2">sample9.cpp</a>.</dd>
474
 
</dl>
475
 
<p>Definition at line <a class="el" href="a00089_source.html#l00977">977</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
476
 
 
477
 
<p>References <a class="el" href="a00089_source.html#l00056">bm::COUNT_XOR</a>, <a class="el" href="a00089_source.html#l00688">bm::distance_operation()</a>, and <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
478
 
 
479
 
<p>Referenced by <a class="el" href="a00096_source.html#l02899">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00114_source.html#l00047">main()</a>.</p>
480
 
 
481
 
</div>
482
 
</div>
483
 
<a class="anchor" id="ga815fef76f02576ab9ab58de0a45d8a4b"></a><!-- doxytag: member="bm::distance_operation" ref="ga815fef76f02576ab9ab58de0a45d8a4b" args="(const BV &amp;bv1, const BV &amp;bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
484
 
<div class="memitem">
485
 
<div class="memproto">
486
 
<div class="memtemplate">
487
 
template&lt;class BV &gt; </div>
488
 
      <table class="memname">
489
 
        <tr>
490
 
          <td class="memname">void bm::distance_operation </td>
491
 
          <td>(</td>
492
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
493
 
          <td class="paramname"> <em>bv1</em>, </td>
494
 
        </tr>
495
 
        <tr>
496
 
          <td class="paramkey"></td>
497
 
          <td></td>
498
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
499
 
          <td class="paramname"> <em>bv2</em>, </td>
500
 
        </tr>
501
 
        <tr>
502
 
          <td class="paramkey"></td>
503
 
          <td></td>
504
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
505
 
          <td class="paramname"> <em>dmit</em>, </td>
506
 
        </tr>
507
 
        <tr>
508
 
          <td class="paramkey"></td>
509
 
          <td></td>
510
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
511
 
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
512
 
        </tr>
513
 
        <tr>
514
 
          <td></td>
515
 
          <td>)</td>
516
 
          <td></td><td></td><td><code> [inline]</code></td>
517
 
        </tr>
518
 
      </table>
519
 
</div>
520
 
<div class="memdoc">
521
 
 
522
 
<p>Distance computing template function. </p>
523
 
<p>Function receives two bitvectors and an array of distance metrics (metrics pipeline). Function computes all metrics saves result into corresponding pipeline results (<a class="el" href="a00061.html#a94c955fe1ac46589d6edc8df7fd35cf6">distance_metric_descriptor::result</a>) An important detail is that function reuses metric descriptors, incrementing received values. It allows you to accumulate results from different calls in the pipeline.</p>
524
 
<dl><dt><b>Parameters:</b></dt><dd>
525
 
  <table border="0" cellspacing="2" cellpadding="0">
526
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- argument bitvector 1 (A) </td></tr>
527
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- argument bitvector 2 (B) </td></tr>
528
 
    <tr><td valign="top"></td><td valign="top"><em>dmit</em>&nbsp;</td><td>- pointer to first element of metric descriptors array Input-Output parameter, receives metric code as input, computation is added to "result" field </td></tr>
529
 
    <tr><td valign="top"></td><td valign="top"><em>dmit_end</em>&nbsp;</td><td>- pointer to (last+1) element of metric descriptors array </td></tr>
530
 
  </table>
531
 
  </dd>
532
 
</dl>
533
 
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00009.html#a10">sample9.cpp</a>.</dd>
534
 
</dl>
535
 
<p>Definition at line <a class="el" href="a00089_source.html#l00688">688</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
536
 
 
537
 
<p>References <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00089_source.html#l00114">bm::combine_count_operation_with_block()</a>, <a class="el" href="a00089_source.html#l00642">bm::distance_stage()</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
538
 
 
539
 
<p>Referenced by <a class="el" href="a00089_source.html#l00943">bm::count_and()</a>, <a class="el" href="a00089_source.html#l01045">bm::count_or()</a>, <a class="el" href="a00089_source.html#l01011">bm::count_sub()</a>, <a class="el" href="a00089_source.html#l00977">bm::count_xor()</a>, and <a class="el" href="a00114_source.html#l00047">main()</a>.</p>
540
 
 
541
 
</div>
542
 
</div>
543
 
<a class="anchor" id="gaa66525fd7a3f823d73678252a235982e"></a><!-- doxytag: member="bm::distance_operation_any" ref="gaa66525fd7a3f823d73678252a235982e" args="(const BV &amp;bv1, const BV &amp;bv2, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
544
 
<div class="memitem">
545
 
<div class="memproto">
546
 
<div class="memtemplate">
547
 
template&lt;class BV &gt; </div>
548
 
      <table class="memname">
549
 
        <tr>
550
 
          <td class="memname">void bm::distance_operation_any </td>
551
 
          <td>(</td>
552
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
553
 
          <td class="paramname"> <em>bv1</em>, </td>
554
 
        </tr>
555
 
        <tr>
556
 
          <td class="paramkey"></td>
557
 
          <td></td>
558
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
559
 
          <td class="paramname"> <em>bv2</em>, </td>
560
 
        </tr>
561
 
        <tr>
562
 
          <td class="paramkey"></td>
563
 
          <td></td>
564
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
565
 
          <td class="paramname"> <em>dmit</em>, </td>
566
 
        </tr>
567
 
        <tr>
568
 
          <td class="paramkey"></td>
569
 
          <td></td>
570
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
571
 
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
572
 
        </tr>
573
 
        <tr>
574
 
          <td></td>
575
 
          <td>)</td>
576
 
          <td></td><td></td><td><code> [inline]</code></td>
577
 
        </tr>
578
 
      </table>
579
 
</div>
580
 
<div class="memdoc">
581
 
 
582
 
<p>Distance screening template function. </p>
583
 
<p>Function receives two bitvectors and an array of distance metrics (metrics pipeline). Function computes possybility of a metric(any bit) saves result into corresponding pipeline results (<a class="el" href="a00061.html#a94c955fe1ac46589d6edc8df7fd35cf6">distance_metric_descriptor::result</a>) An important detail is that function reuses metric descriptors, incrementing received values. It allows you to accumulate results from different calls in the pipeline.</p>
584
 
<dl><dt><b>Parameters:</b></dt><dd>
585
 
  <table border="0" cellspacing="2" cellpadding="0">
586
 
    <tr><td valign="top"></td><td valign="top"><em>bv1</em>&nbsp;</td><td>- argument bitvector 1 (A) </td></tr>
587
 
    <tr><td valign="top"></td><td valign="top"><em>bv2</em>&nbsp;</td><td>- argument bitvector 2 (B) </td></tr>
588
 
    <tr><td valign="top"></td><td valign="top"><em>dmit</em>&nbsp;</td><td>- pointer to first element of metric descriptors array Input-Output parameter, receives metric code as input, computation is added to "result" field </td></tr>
589
 
    <tr><td valign="top"></td><td valign="top"><em>dmit_end</em>&nbsp;</td><td>- pointer to (last+1) element of metric descriptors array </td></tr>
590
 
  </table>
591
 
  </dd>
592
 
</dl>
593
 
 
594
 
<p>Definition at line <a class="el" href="a00089_source.html#l00807">807</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
595
 
 
596
 
<p>References <a class="el" href="a00092_source.html#l00097">BM_IS_GAP</a>, <a class="el" href="a00092_source.html#l00139">BM_SET_MMX_GUARD</a>, <a class="el" href="a00089_source.html#l00343">bm::combine_any_operation_with_block()</a>, <a class="el" href="a00089_source.html#l00642">bm::distance_stage()</a>, <a class="el" href="a00089_source.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00091_source.html#l00080">bm::set_array_size</a>.</p>
597
 
 
598
 
<p>Referenced by <a class="el" href="a00089_source.html#l00959">bm::any_and()</a>, <a class="el" href="a00089_source.html#l01061">bm::any_or()</a>, <a class="el" href="a00089_source.html#l01028">bm::any_sub()</a>, and <a class="el" href="a00089_source.html#l00993">bm::any_xor()</a>.</p>
599
 
 
600
 
</div>
601
 
</div>
602
 
<a class="anchor" id="ga158946ea41ca66c3e1bca62c92684788"></a><!-- doxytag: member="bm::operation2metric" ref="ga158946ea41ca66c3e1bca62c92684788" args="(set_operation op)" -->
603
 
<div class="memitem">
604
 
<div class="memproto">
605
 
      <table class="memname">
606
 
        <tr>
607
 
          <td class="memname">distance_metric bm::operation2metric </td>
608
 
          <td>(</td>
609
 
          <td class="paramtype">set_operation&nbsp;</td>
610
 
          <td class="paramname"> <em>op</em></td>
 
67
<a class="anchor" id="ga819bdab57a624a08456ea79161b9c5d2"></a><!-- doxytag: member="bm::combine_and" ref="ga819bdab57a624a08456ea79161b9c5d2" args="(BV &amp;bv, It first, It last)" -->
 
68
<div class="memitem">
 
69
<div class="memproto">
 
70
<div class="memtemplate">
 
71
template&lt;class BV , class It &gt; </div>
 
72
      <table class="memname">
 
73
        <tr>
 
74
          <td class="memname">void bm::combine_and </td>
 
75
          <td>(</td>
 
76
          <td class="paramtype">BV &amp;&nbsp;</td>
 
77
          <td class="paramname"> <em>bv</em>, </td>
 
78
        </tr>
 
79
        <tr>
 
80
          <td class="paramkey"></td>
 
81
          <td></td>
 
82
          <td class="paramtype">It&nbsp;</td>
 
83
          <td class="paramname"> <em>first</em>, </td>
 
84
        </tr>
 
85
        <tr>
 
86
          <td class="paramkey"></td>
 
87
          <td></td>
 
88
          <td class="paramtype">It&nbsp;</td>
 
89
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
90
        </tr>
 
91
        <tr>
 
92
          <td></td>
 
93
          <td>)</td>
 
94
          <td></td><td></td><td><code> [inline]</code></td>
 
95
        </tr>
 
96
      </table>
 
97
</div>
 
98
<div class="memdoc">
 
99
 
 
100
<p>AND Combine bitvector and the iterable sequence. </p>
 
101
<p>Algorithm combines <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.</p>
 
102
<dl><dt><b>Parameters:</b></dt><dd>
 
103
  <table border="0" cellspacing="2" cellpadding="0">
 
104
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
105
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
106
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence</td></tr>
 
107
  </table>
 
108
  </dd>
 
109
</dl>
 
110
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00125.html#ga22922f71bd1eec8a5b663dc77b90cf6c" title="AND Combine bitvector and the iterable sequence.">combine_and_sorted</a> </dd></dl>
 
111
 
 
112
<p>Definition at line <a class="el" href="a00090_source.html#l01382">1382</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
113
 
 
114
<p>References <a class="el" href="a00090_source.html#l01105">bm::combine_or()</a>.</p>
 
115
 
 
116
</div>
 
117
</div>
 
118
<a class="anchor" id="ga22922f71bd1eec8a5b663dc77b90cf6c"></a><!-- doxytag: member="bm::combine_and_sorted" ref="ga22922f71bd1eec8a5b663dc77b90cf6c" args="(BV &amp;bv, It first, It last)" -->
 
119
<div class="memitem">
 
120
<div class="memproto">
 
121
<div class="memtemplate">
 
122
template&lt;class BV , class It &gt; </div>
 
123
      <table class="memname">
 
124
        <tr>
 
125
          <td class="memname">void bm::combine_and_sorted </td>
 
126
          <td>(</td>
 
127
          <td class="paramtype">BV &amp;&nbsp;</td>
 
128
          <td class="paramname"> <em>bv</em>, </td>
 
129
        </tr>
 
130
        <tr>
 
131
          <td class="paramkey"></td>
 
132
          <td></td>
 
133
          <td class="paramtype">It&nbsp;</td>
 
134
          <td class="paramname"> <em>first</em>, </td>
 
135
        </tr>
 
136
        <tr>
 
137
          <td class="paramkey"></td>
 
138
          <td></td>
 
139
          <td class="paramtype">It&nbsp;</td>
 
140
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
141
        </tr>
 
142
        <tr>
 
143
          <td></td>
 
144
          <td>)</td>
 
145
          <td></td><td></td><td><code> [inline]</code></td>
 
146
        </tr>
 
147
      </table>
 
148
</div>
 
149
<div class="memdoc">
 
150
 
 
151
<p>AND Combine bitvector and the iterable sequence. </p>
 
152
<p>Algorithm combines <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> with sorted sequence of integers (represents another set).</p>
 
153
<dl><dt><b>Parameters:</b></dt><dd>
 
154
  <table border="0" cellspacing="2" cellpadding="0">
 
155
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
156
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
157
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence </td></tr>
 
158
  </table>
 
159
  </dd>
 
160
</dl>
 
161
 
 
162
<p>Definition at line <a class="el" href="a00090_source.html#l01350">1350</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
163
 
 
164
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>.</p>
 
165
 
 
166
</div>
 
167
</div>
 
168
<a class="anchor" id="ga54ff78528c99ae3ca443eb99ba44785b"></a><!-- doxytag: member="bm::combine_or" ref="ga54ff78528c99ae3ca443eb99ba44785b" args="(BV &amp;bv, It first, It last)" -->
 
169
<div class="memitem">
 
170
<div class="memproto">
 
171
<div class="memtemplate">
 
172
template&lt;class BV , class It &gt; </div>
 
173
      <table class="memname">
 
174
        <tr>
 
175
          <td class="memname">void bm::combine_or </td>
 
176
          <td>(</td>
 
177
          <td class="paramtype">BV &amp;&nbsp;</td>
 
178
          <td class="paramname"> <em>bv</em>, </td>
 
179
        </tr>
 
180
        <tr>
 
181
          <td class="paramkey"></td>
 
182
          <td></td>
 
183
          <td class="paramtype">It&nbsp;</td>
 
184
          <td class="paramname"> <em>first</em>, </td>
 
185
        </tr>
 
186
        <tr>
 
187
          <td class="paramkey"></td>
 
188
          <td></td>
 
189
          <td class="paramtype">It&nbsp;</td>
 
190
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
191
        </tr>
 
192
        <tr>
 
193
          <td></td>
 
194
          <td>)</td>
 
195
          <td></td><td></td><td><code> [inline]</code></td>
 
196
        </tr>
 
197
      </table>
 
198
</div>
 
199
<div class="memdoc">
 
200
 
 
201
<p>OR Combine bitvector and the iterable sequence. </p>
 
202
<p>Algorithm combines <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.</p>
 
203
<dl><dt><b>Parameters:</b></dt><dd>
 
204
  <table border="0" cellspacing="2" cellpadding="0">
 
205
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
206
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
207
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence </td></tr>
 
208
  </table>
 
209
  </dd>
 
210
</dl>
 
211
 
 
212
<p>Definition at line <a class="el" href="a00090_source.html#l01105">1105</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
213
 
 
214
<p>References <a class="el" href="a00090_source.html#l01075">bm::block_range_scan()</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l02362">bm::gap_limit()</a>, <a class="el" href="a00094_source.html#l01133">bm::gap_set_value()</a>, <a class="el" href="a00092_source.html#l00048">bm::id_max</a>, <a class="el" href="a00092_source.html#l00054">bm::set_block_mask</a>, <a class="el" href="a00092_source.html#l00053">bm::set_block_shift</a>, <a class="el" href="a00092_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00092_source.html#l00062">bm::set_word_shift</a>.</p>
 
215
 
 
216
<p>Referenced by <a class="el" href="a00090_source.html#l01382">bm::combine_and()</a>.</p>
 
217
 
 
218
</div>
 
219
</div>
 
220
<a class="anchor" id="gab88c5bf51484323e0139aa789d7f0b98"></a><!-- doxytag: member="bm::combine_sub" ref="gab88c5bf51484323e0139aa789d7f0b98" args="(BV &amp;bv, It first, It last)" -->
 
221
<div class="memitem">
 
222
<div class="memproto">
 
223
<div class="memtemplate">
 
224
template&lt;class BV , class It &gt; </div>
 
225
      <table class="memname">
 
226
        <tr>
 
227
          <td class="memname">void bm::combine_sub </td>
 
228
          <td>(</td>
 
229
          <td class="paramtype">BV &amp;&nbsp;</td>
 
230
          <td class="paramname"> <em>bv</em>, </td>
 
231
        </tr>
 
232
        <tr>
 
233
          <td class="paramkey"></td>
 
234
          <td></td>
 
235
          <td class="paramtype">It&nbsp;</td>
 
236
          <td class="paramname"> <em>first</em>, </td>
 
237
        </tr>
 
238
        <tr>
 
239
          <td class="paramkey"></td>
 
240
          <td></td>
 
241
          <td class="paramtype">It&nbsp;</td>
 
242
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
243
        </tr>
 
244
        <tr>
 
245
          <td></td>
 
246
          <td>)</td>
 
247
          <td></td><td></td><td><code> [inline]</code></td>
 
248
        </tr>
 
249
      </table>
 
250
</div>
 
251
<div class="memdoc">
 
252
 
 
253
<p>SUB Combine bitvector and the iterable sequence. </p>
 
254
<p>Algorithm combines <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.</p>
 
255
<dl><dt><b>Parameters:</b></dt><dd>
 
256
  <table border="0" cellspacing="2" cellpadding="0">
 
257
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
258
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
259
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence </td></tr>
 
260
  </table>
 
261
  </dd>
 
262
</dl>
 
263
 
 
264
<p>Definition at line <a class="el" href="a00090_source.html#l01268">1268</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
265
 
 
266
<p>References <a class="el" href="a00090_source.html#l01075">bm::block_range_scan()</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l02362">bm::gap_limit()</a>, <a class="el" href="a00094_source.html#l01133">bm::gap_set_value()</a>, <a class="el" href="a00094_source.html#l00489">bm::gap_test()</a>, <a class="el" href="a00092_source.html#l00048">bm::id_max</a>, <a class="el" href="a00092_source.html#l00054">bm::set_block_mask</a>, <a class="el" href="a00092_source.html#l00053">bm::set_block_shift</a>, <a class="el" href="a00092_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00092_source.html#l00062">bm::set_word_shift</a>.</p>
 
267
 
 
268
</div>
 
269
</div>
 
270
<a class="anchor" id="ga3cb362aee03de6a321495100ae5c8375"></a><!-- doxytag: member="bm::combine_xor" ref="ga3cb362aee03de6a321495100ae5c8375" args="(BV &amp;bv, It first, It last)" -->
 
271
<div class="memitem">
 
272
<div class="memproto">
 
273
<div class="memtemplate">
 
274
template&lt;class BV , class It &gt; </div>
 
275
      <table class="memname">
 
276
        <tr>
 
277
          <td class="memname">void bm::combine_xor </td>
 
278
          <td>(</td>
 
279
          <td class="paramtype">BV &amp;&nbsp;</td>
 
280
          <td class="paramname"> <em>bv</em>, </td>
 
281
        </tr>
 
282
        <tr>
 
283
          <td class="paramkey"></td>
 
284
          <td></td>
 
285
          <td class="paramtype">It&nbsp;</td>
 
286
          <td class="paramname"> <em>first</em>, </td>
 
287
        </tr>
 
288
        <tr>
 
289
          <td class="paramkey"></td>
 
290
          <td></td>
 
291
          <td class="paramtype">It&nbsp;</td>
 
292
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
293
        </tr>
 
294
        <tr>
 
295
          <td></td>
 
296
          <td>)</td>
 
297
          <td></td><td></td><td><code> [inline]</code></td>
 
298
        </tr>
 
299
      </table>
 
300
</div>
 
301
<div class="memdoc">
 
302
 
 
303
<p>XOR Combine bitvector and the iterable sequence. </p>
 
304
<p>Algorithm combines <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.</p>
 
305
<dl><dt><b>Parameters:</b></dt><dd>
 
306
  <table border="0" cellspacing="2" cellpadding="0">
 
307
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
308
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
309
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence </td></tr>
 
310
  </table>
 
311
  </dd>
 
312
</dl>
 
313
 
 
314
<p>Definition at line <a class="el" href="a00090_source.html#l01184">1184</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
315
 
 
316
<p>References <a class="el" href="a00090_source.html#l01075">bm::block_range_scan()</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00094_source.html#l02362">bm::gap_limit()</a>, <a class="el" href="a00094_source.html#l01133">bm::gap_set_value()</a>, <a class="el" href="a00094_source.html#l00489">bm::gap_test()</a>, <a class="el" href="a00092_source.html#l00048">bm::id_max</a>, <a class="el" href="a00092_source.html#l00054">bm::set_block_mask</a>, <a class="el" href="a00092_source.html#l00053">bm::set_block_shift</a>, <a class="el" href="a00092_source.html#l00063">bm::set_word_mask</a>, and <a class="el" href="a00092_source.html#l00062">bm::set_word_shift</a>.</p>
 
317
 
 
318
</div>
 
319
</div>
 
320
<a class="anchor" id="gac7a59d3bc266310ec127cb3efadb0d33"></a><!-- doxytag: member="bm::count_intervals" ref="gac7a59d3bc266310ec127cb3efadb0d33" args="(const BV &amp;bv)" -->
 
321
<div class="memitem">
 
322
<div class="memproto">
 
323
<div class="memtemplate">
 
324
template&lt;class BV &gt; </div>
 
325
      <table class="memname">
 
326
        <tr>
 
327
          <td class="memname"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::count_intervals </td>
 
328
          <td>(</td>
 
329
          <td class="paramtype">const BV &amp;&nbsp;</td>
 
330
          <td class="paramname"> <em>bv</em></td>
611
331
          <td>&nbsp;)&nbsp;</td>
612
332
          <td><code> [inline]</code></td>
613
333
        </tr>
615
335
</div>
616
336
<div class="memdoc">
617
337
 
618
 
<p>Convert set operation into compatible distance metric. </p>
619
 
 
620
 
<p>Definition at line <a class="el" href="a00089_source.html#l00069">69</a> of file <a class="el" href="a00089_source.html">bmalgo_impl.h</a>.</p>
621
 
 
622
 
<p>References <a class="el" href="a00092_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00266">bm::is_const_set_operation()</a>, <a class="el" href="a00093_source.html#l00252">bm::set_COUNT</a>, and <a class="el" href="a00093_source.html#l00259">bm::set_COUNT_B</a>.</p>
623
 
 
624
 
<p>Referenced by <a class="el" href="a00096_source.html#l02899">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>.</p>
625
 
 
626
 
</div>
627
 
</div>
628
 
</div>
629
 
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by&nbsp;
 
338
<p>Compute number of bit intervals (GAPs) in the bitvector. </p>
 
339
<p>Algorithm traverses bit vector and count number of uninterrupted intervals of 1s and 0s. </p>
 
340
<pre>
 
341
    For example: 
 
342
      00001111100000 - gives us 3 intervals
 
343
      10001111100000 - 4 intervals
 
344
      00000000000000 - 1 interval
 
345
      11111111111111 - 1 interval
 
346
    </pre> <dl class="return"><dt><b>Returns:</b></dt><dd>Number of intervals </dd></dl>
 
347
 
 
348
<p>Definition at line <a class="el" href="a00090_source.html#l01405">1405</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
349
 
 
350
<p>References <a class="el" href="a00094_source.html#l00592">bm::for_each_block()</a>, and <a class="el" href="a00092_source.html#l00080">bm::set_array_size</a>.</p>
 
351
 
 
352
</div>
 
353
</div>
 
354
<a class="anchor" id="gacd88ed9539553dd93419b7029e8a4584"></a><!-- doxytag: member="bm::export_array" ref="gacd88ed9539553dd93419b7029e8a4584" args="(BV &amp;bv, It first, It last)" -->
 
355
<div class="memitem">
 
356
<div class="memproto">
 
357
<div class="memtemplate">
 
358
template&lt;class BV , class It &gt; </div>
 
359
      <table class="memname">
 
360
        <tr>
 
361
          <td class="memname">void bm::export_array </td>
 
362
          <td>(</td>
 
363
          <td class="paramtype">BV &amp;&nbsp;</td>
 
364
          <td class="paramname"> <em>bv</em>, </td>
 
365
        </tr>
 
366
        <tr>
 
367
          <td class="paramkey"></td>
 
368
          <td></td>
 
369
          <td class="paramtype">It&nbsp;</td>
 
370
          <td class="paramname"> <em>first</em>, </td>
 
371
        </tr>
 
372
        <tr>
 
373
          <td class="paramkey"></td>
 
374
          <td></td>
 
375
          <td class="paramtype">It&nbsp;</td>
 
376
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
377
        </tr>
 
378
        <tr>
 
379
          <td></td>
 
380
          <td>)</td>
 
381
          <td></td><td></td><td><code> [inline]</code></td>
 
382
        </tr>
 
383
      </table>
 
384
</div>
 
385
<div class="memdoc">
 
386
 
 
387
<p>Export bitset from an array of binary data representing the bit vector. </p>
 
388
<p>Input array can be array of ints, chars or other native C types. Method works with iterators, which makes it compatible with STL containers and C arrays</p>
 
389
<dl><dt><b>Parameters:</b></dt><dd>
 
390
  <table border="0" cellspacing="2" cellpadding="0">
 
391
    <tr><td valign="top"></td><td valign="top"><em>bv</em>&nbsp;</td><td>- destination bitvector </td></tr>
 
392
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>- first element of the iterated sequence </td></tr>
 
393
    <tr><td valign="top"></td><td valign="top"><em>last</em>&nbsp;</td><td>- last element of the iterated sequence </td></tr>
 
394
  </table>
 
395
  </dd>
 
396
</dl>
 
397
 
 
398
<p>Definition at line <a class="el" href="a00090_source.html#l01431">1431</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
399
 
 
400
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00116">bm::BM_BIT</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00092_source.html#l00052">bm::set_block_size</a>, and <a class="el" href="a00092_source.html#l00083">bm::set_total_blocks</a>.</p>
 
401
 
 
402
</div>
 
403
</div>
 
404
</div>
 
405
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:48:07 2010 for BitMagic by&nbsp;
630
406
<a href="http://www.doxygen.org/index.html">
631
407
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
632
408
</body>