14
14
<li><a href="index.html"><span>Main Page</span></a></li>
15
15
<li><a href="modules.html"><span>Modules</span></a></li>
16
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
18
<li><a href="files.html"><span>Files</span></a></li>
19
<li><a href="examples.html"><span>Examples</span></a></li>
17
24
<li><a href="annotated.html"><span>Data Structures</span></a></li>
18
<li class="current"><a href="files.html"><span>Files</span></a></li>
19
<li><a href="examples.html"><span>Examples</span></a></li>
25
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
26
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
24
<li><a href="files.html"><span>File List</span></a></li>
25
<li><a href="globals.html"><span>Globals</span></a></li>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00084.html">sse_empty_guard</a>
29
33
<div class="contents">
30
<h1>bm.h File Reference</h1><code>#include <iterator></code><br/>
31
<code>#include "<a class="el" href="a00088_source.html">bmconst.h</a>"</code><br/>
32
<code>#include "<a class="el" href="a00089_source.html">bmdef.h</a>"</code><br/>
33
<code>#include "<a class="el" href="a00093_source.html">bmsse2.h</a>"</code><br/>
34
<code>#include "bmfwd.h"</code><br/>
35
<code>#include "<a class="el" href="a00090_source.html">bmfunc.h</a>"</code><br/>
36
<code>#include "<a class="el" href="a00099_source.html">bmvmin.h</a>"</code><br/>
37
<code>#include "<a class="el" href="a00100_source.html">encoding.h</a>"</code><br/>
38
<code>#include "<a class="el" href="a00087_source.html">bmalloc.h</a>"</code><br/>
39
<code>#include "bmblocks.h"</code><br/>
40
<code>#include "<a class="el" href="a00097_source.html">bmundef.h</a>"</code><br/>
41
<div class="dynheader">
42
Include dependency graph for bm.h:</div>
43
<div class="dynsection">
44
<div class="center"><img src="a00123.png" border="0" usemap="#bm_8h_map" alt=""/></div>
45
<map name="bm_8h_map" id="bm_8h">
46
<area shape="rect" href="a00088.html" title="bmconst.h" alt="" coords="99,237,181,267"/><area shape="rect" href="a00089.html" title="bmdef.h" alt="" coords="341,237,408,267"/><area shape="rect" href="a00093.html" title="bmsse2.h" alt="" coords="437,83,515,112"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="288,83,363,112"/><area shape="rect" href="a00099.html" title="bmvmin.h" alt="" coords="632,83,709,112"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="181,83,264,112"/><area shape="rect" href="a00087.html" title="bmalloc.h" alt="" coords="733,83,811,112"/><area shape="rect" href="a00097.html" title="bmundef.h" alt="" coords="947,83,1029,112"/><area shape="rect" href="a00095.html" title="bmsse_util.h" alt="" coords="707,160,803,189"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="141,160,208,189"/></map>
48
<div class="dynheader">
49
This graph shows which files directly or indirectly include this file:</div>
50
<div class="dynsection">
51
<div class="center"><img src="a00124.png" border="0" usemap="#bm_8hdep_map" alt=""/></div>
52
<map name="bm_8hdep_map" id="bm_8hdep">
53
<area shape="rect" href="a00085.html" title="bmalgo.h" alt="" coords="5,83,80,112"/><area shape="rect" href="a00109.html" title="sample9.cpp" alt="" coords="11,160,107,189"/><area shape="rect" href="a00092.html" title="bmserial.h" alt="" coords="155,83,235,112"/><area shape="rect" href="a00104.html" title="sample4.cpp" alt="" coords="185,160,281,189"/><area shape="rect" href="a00101.html" title="sample1.cpp" alt="" coords="309,83,405,112"/><area shape="rect" href="a00102.html" title="sample2.cpp" alt="" coords="429,83,525,112"/><area shape="rect" href="a00103.html" title="sample3.cpp" alt="" coords="549,83,645,112"/><area shape="rect" href="a00105.html" title="sample5.cpp" alt="" coords="669,83,765,112"/><area shape="rect" href="a00106.html" title="sample6.cpp" alt="" coords="789,83,885,112"/><area shape="rect" href="a00107.html" title="sample7.cpp" alt="" coords="909,83,1005,112"/><area shape="rect" href="a00108.html" title="sample8.cpp" alt="" coords="1029,83,1125,112"/></map>
34
<h1>bm::sse_empty_guard Class Reference<br/>
36
[<a class="el" href="a00122.html">Processor specific optimizations for SSE2 instructions</a>]</small>
37
</h1><!-- doxytag: class="bm::sse_empty_guard" -->
38
<p>SSE2 reinitialization guard class.
39
<a href="#_details">More...</a></p>
56
<p><a href="a00084_source.html">Go to the source code of this file.</a></p>
41
<p><code>#include <<a class="el" href="a00099_source.html">bmsse_util.h</a>></code></p>
57
42
<table border="0" cellpadding="0" cellspacing="0">
58
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html">bm::bvector< Alloc, MS ></a></td></tr>
60
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitvector with runtime compression of bits. <a href="a00043.html#_details">More...</a><br/></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">bm::bvector< Alloc, MS >::statistics</a></td></tr>
62
<tr><td class="mdescLeft"> </td><td class="mdescRight">Statistical information about bitset's memory allocation details. <a href="a00082.html#_details">More...</a><br/></td></tr>
63
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">bm::bvector< Alloc, MS >::reference</a></td></tr>
64
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00078.html" title="Class reference implements an object for bit assignment.">reference</a> implements an object for bit assignment. <a href="a00078.html#_details">More...</a><br/></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html">bm::bvector< Alloc, MS >::iterator_base</a></td></tr>
66
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for all iterators. <a href="a00071.html#_details">More...</a><br/></td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">bm::bvector< Alloc, MS >::iterator_base::bitblock_descr</a></td></tr>
68
<tr><td class="mdescLeft"> </td><td class="mdescRight">Information about current bitblock. <a href="a00034.html#_details">More...</a><br/></td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">bm::bvector< Alloc, MS >::iterator_base::dgap_descr</a></td></tr>
70
<tr><td class="mdescLeft"> </td><td class="mdescRight">Information about current DGAP block. <a href="a00059.html#_details">More...</a><br/></td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top">union </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">bm::bvector< Alloc, MS >::iterator_base::block_descr</a></td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">bm::bvector< Alloc, MS >::insert_iterator</a></td></tr>
73
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces). <a href="a00070.html#_details">More...</a><br/></td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">bm::bvector< Alloc, MS >::enumerator</a></td></tr>
75
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constant input iterator designed to enumerate "ON" bits. <a href="a00062.html#_details">More...</a><br/></td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html">bm::bvector< Alloc, MS >::counted_enumerator</a></td></tr>
77
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constant input iterator designed to enumerate "ON" bits <a class="el" href="a00048.html" title="Constant input iterator designed to enumerate "ON" bits counted_enumerator...">counted_enumerator</a> keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit. <a href="a00048.html#_details">More...</a><br/></td></tr>
78
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
79
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html">bm</a></td></tr>
80
<tr><td colspan="2"><h2>Defines</h2></td></tr>
81
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#aa2c8ca7e259c278f3a9605205679de03">BMVECTOPT</a></td></tr>
82
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a911e3d9e9a293cafab1396a8700288e9">BMCOUNT_INC</a></td></tr>
83
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a809c66152f5967c1a1eb51e006206630">BMCOUNT_DEC</a></td></tr>
84
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a835c3ed1c5956735e59744cff81244dc">BMCOUNT_VALID</a>(x)</td></tr>
85
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a1fbebc7fe3c22d768ff6e240437ee8f4">BMCOUNT_SET</a>(x)</td></tr>
86
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#aef4146eb86de042a6c34717f87b16c10">BMCOUNT_ADJ</a>(x)</td></tr>
87
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
88
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00074.html">bm::miniset</a><br class="typebreak"/>
89
< <a class="el" href="a00038.html">bm::block_allocator</a>, <br class="typebreak"/>
90
<a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac77813f2c2dfe40575830ba6a8373bcc">bm::mem_save_set</a></td></tr>
91
<tr><td colspan="2"><h2>Functions</h2></td></tr>
92
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
93
<tr><td class="memTemplItemLeft" align="right" valign="top">bvector< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ac766cc15ae8feca9e21a36c49bf3b557">bm::operator&</a> (const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)</td></tr>
94
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
95
<tr><td class="memTemplItemLeft" align="right" valign="top">bvector< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a5cc9411c5170df52c1c4ea436ef32745">bm::operator|</a> (const bvector< Alloc, MS > &v1, const bvector< Alloc > &v2)</td></tr>
96
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
97
<tr><td class="memTemplItemLeft" align="right" valign="top">bvector< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a7042429992aec5891a3df1b0bddea05f">bm::operator^</a> (const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)</td></tr>
98
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
99
<tr><td class="memTemplItemLeft" align="right" valign="top">bvector< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#afe23d0ced66b48b9c4214e0b00dcc5ac">bm::operator-</a> (const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)</td></tr>
43
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a231af2137d8bd3aefc374982804ace24">sse_empty_guard</a> ()</td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a5d197a685ce1f87a1cc01b047960377b">~sse_empty_guard</a> ()</td></tr>
101
<hr/><h2>Define Documentation</h2>
102
<a class="anchor" id="aef4146eb86de042a6c34717f87b16c10"></a><!-- doxytag: member="bm.h::BMCOUNT_ADJ" ref="aef4146eb86de042a6c34717f87b16c10" args="(x)" -->
103
<div class="memitem">
104
<div class="memproto">
105
<table class="memname">
107
<td class="memname">#define BMCOUNT_ADJ</td>
109
<td class="paramtype">x </td>
110
<td class="paramname"></td>
111
<td> ) </td>
118
<p>Definition at line <a class="el" href="a00084_source.html#l00087">87</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
122
<a class="anchor" id="a809c66152f5967c1a1eb51e006206630"></a><!-- doxytag: member="bm.h::BMCOUNT_DEC" ref="a809c66152f5967c1a1eb51e006206630" args="" -->
123
<div class="memitem">
124
<div class="memproto">
125
<table class="memname">
127
<td class="memname">#define BMCOUNT_DEC</td>
133
<p>Definition at line <a class="el" href="a00084_source.html#l00084">84</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
137
<a class="anchor" id="a911e3d9e9a293cafab1396a8700288e9"></a><!-- doxytag: member="bm.h::BMCOUNT_INC" ref="a911e3d9e9a293cafab1396a8700288e9" args="" -->
138
<div class="memitem">
139
<div class="memproto">
140
<table class="memname">
142
<td class="memname">#define BMCOUNT_INC</td>
148
<p>Definition at line <a class="el" href="a00084_source.html#l00083">83</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
152
<a class="anchor" id="a1fbebc7fe3c22d768ff6e240437ee8f4"></a><!-- doxytag: member="bm.h::BMCOUNT_SET" ref="a1fbebc7fe3c22d768ff6e240437ee8f4" args="(x)" -->
153
<div class="memitem">
154
<div class="memproto">
155
<table class="memname">
157
<td class="memname">#define BMCOUNT_SET</td>
159
<td class="paramtype">x </td>
160
<td class="paramname"></td>
161
<td> ) </td>
168
<p>Definition at line <a class="el" href="a00084_source.html#l00086">86</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
170
<p>Referenced by <a class="el" href="a00084_source.html#l01048">bm::bvector< Alloc, MS >::clear()</a>, and <a class="el" href="a00084_source.html#l01641">bm::bvector< Alloc, MS >::count()</a>.</p>
174
<a class="anchor" id="a835c3ed1c5956735e59744cff81244dc"></a><!-- doxytag: member="bm.h::BMCOUNT_VALID" ref="a835c3ed1c5956735e59744cff81244dc" args="(x)" -->
175
<div class="memitem">
176
<div class="memproto">
177
<table class="memname">
179
<td class="memname">#define BMCOUNT_VALID</td>
181
<td class="paramtype">x </td>
182
<td class="paramname"></td>
183
<td> ) </td>
190
<p>Definition at line <a class="el" href="a00084_source.html#l00085">85</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
192
<p>Referenced by <a class="el" href="a00084_source.html#l01287">bm::bvector< Alloc, MS >::bit_and()</a>, <a class="el" href="a00084_source.html#l01276">bm::bvector< Alloc, MS >::bit_or()</a>, <a class="el" href="a00084_source.html#l01309">bm::bvector< Alloc, MS >::bit_sub()</a>, <a class="el" href="a00084_source.html#l01298">bm::bvector< Alloc, MS >::bit_xor()</a>, <a class="el" href="a00084_source.html#l01135">bm::bvector< Alloc, MS >::forget_count()</a>, <a class="el" href="a00084_source.html#l01775">bm::bvector< Alloc, MS >::invert()</a>, <a class="el" href="a00084_source.html#l01122">bm::bvector< Alloc, MS >::recalc_count()</a>, <a class="el" href="a00084_source.html#l01001">bm::bvector< Alloc, MS >::set()</a>, <a class="el" href="a00084_source.html#l01618">bm::bvector< Alloc, MS >::set_range()</a>, and <a class="el" href="a00084_source.html#l01212">bm::bvector< Alloc, MS >::swap()</a>.</p>
196
<a class="anchor" id="aa2c8ca7e259c278f3a9605205679de03"></a><!-- doxytag: member="bm.h::BMVECTOPT" ref="aa2c8ca7e259c278f3a9605205679de03" args="" -->
197
<div class="memitem">
198
<div class="memproto">
199
<table class="memname">
201
<td class="memname">#define BMVECTOPT</td>
207
<p>Definition at line <a class="el" href="a00084_source.html#l00058">58</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
212
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:36 2009 for BitMagic by
47
<hr/><a name="_details"></a><h2>Detailed Description</h2>
48
<p>SSE2 reinitialization guard class. </p>
49
<p>SSE2 requires to call _mm_empty() if we are intermixing MMX integer commands with floating point arithmetics. This class guards critical code fragments where SSE2 integer is used. </p>
51
<p>Definition at line <a class="el" href="a00099_source.html#l00049">49</a> of file <a class="el" href="a00099_source.html">bmsse_util.h</a>.</p>
52
<hr/><h2>Constructor & Destructor Documentation</h2>
53
<a class="anchor" id="a231af2137d8bd3aefc374982804ace24"></a><!-- doxytag: member="bm::sse_empty_guard::sse_empty_guard" ref="a231af2137d8bd3aefc374982804ace24" args="()" -->
55
<div class="memproto">
56
<table class="memname">
58
<td class="memname">BMFORCEINLINE bm::sse_empty_guard::sse_empty_guard </td>
60
<td class="paramname"></td>
61
<td> ) </td>
62
<td><code> [inline]</code></td>
68
<p>Definition at line <a class="el" href="a00099_source.html#l00052">52</a> of file <a class="el" href="a00099_source.html">bmsse_util.h</a>.</p>
72
<a class="anchor" id="a5d197a685ce1f87a1cc01b047960377b"></a><!-- doxytag: member="bm::sse_empty_guard::~sse_empty_guard" ref="a5d197a685ce1f87a1cc01b047960377b" args="()" -->
74
<div class="memproto">
75
<table class="memname">
77
<td class="memname">BMFORCEINLINE bm::sse_empty_guard::~sse_empty_guard </td>
79
<td class="paramname"></td>
80
<td> ) </td>
81
<td><code> [inline]</code></td>
87
<p>Definition at line <a class="el" href="a00099_source.html#l00057">57</a> of file <a class="el" href="a00099_source.html">bmsse_util.h</a>.</p>
91
<hr/>The documentation for this class was generated from the following file:<ul>
92
<li><a class="el" href="a00099_source.html">bmsse_util.h</a></li>
95
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by
213
96
<a href="http://www.doxygen.org/index.html">
214
97
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>