~ubuntu-branches/ubuntu/intrepid/bmagic/intrepid

« back to all changes in this revision

Viewing changes to html/a00056.html

  • Committer: Bazaar Package Importer
  • Author(s): Andres Salomon
  • Date: 2008-01-05 23:58:56 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080105235856-2kmxhxkz14qjy9ia
Tags: 3.5.0-1
* New upstream release.
* Add tcpp.dpatch.  This stops tests/stress/t.cpp from including
  ncbi_pch.hpp.  As far as I can tell, NCBI is not used at all, I have
  no idea where that came from..
* Silence some lintian warnings; binary-arch-rules-but-pkg-is-arch-indep
  and ancient-standards-version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
 
<title>BitMagic: bm::bvector&lt; Alloc, MS &gt;::reference Class Reference</title>
 
3
<title>BitMagic: sample5.cpp</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
</head><body>
6
6
<!-- Generated by Doxygen 1.4.1 -->
7
7
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="examples.html">Examples</a></div>
8
 
<div class="nav">
9
 
<a class="el" href="a00092.html">bm</a>::<a class="el" href="a00048.html">bvector</a>::<a class="el" href="a00056.html">reference</a></div>
10
 
<h1>bm::bvector&lt; Alloc, MS &gt;::reference Class Reference<br>
11
 
<small>
12
 
[<a class="el" href="a00095.html">The Main bvector&lt;&gt; Group</a>]</small>
13
 
</h1>Class reference implements an object for bit assignment. Since C++ does not provide with build-in bit type supporting l-value operations we have to emulate it.  
14
 
<a href="#_details">More...</a>
15
 
<p>
16
 
<code>#include &lt;<a class="el" href="a00102.html">bm.h</a>&gt;</code>
17
 
<p>
18
 
<table border="0" cellpadding="0" cellspacing="0">
19
 
<tr><td></td></tr>
20
 
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
21
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a0">reference</a> (<a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;bv, <a class="el" href="a00092.html#a9">bm::id_t</a> position)</td></tr>
22
 
 
23
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a1">reference</a> (const <a class="el" href="a00056.html">reference</a> &amp;ref)</td></tr>
24
 
 
25
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a2">operator bool</a> () const </td></tr>
26
 
 
27
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a3">operator=</a> (const <a class="el" href="a00056.html">reference</a> &amp;ref) const </td></tr>
28
 
 
29
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a4">operator=</a> (bool value) const </td></tr>
30
 
 
31
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a5">operator==</a> (const <a class="el" href="a00056.html">reference</a> &amp;ref) const </td></tr>
32
 
 
33
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a6">operator &amp;=</a> (bool value) const </td></tr>
34
 
 
35
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a7">operator|=</a> (bool value) const </td></tr>
36
 
 
37
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a8">operator^=</a> (bool value) const </td></tr>
38
 
 
39
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a9">operator!</a> () const </td></tr>
40
 
 
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a10">operator~</a> () const </td></tr>
42
 
 
43
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a11">flip</a> ()</td></tr>
44
 
 
45
 
</table>
46
 
<hr><a name="_details"></a><h2>Detailed Description</h2>
47
 
<h3>template&lt;class Alloc, class MS&gt;<br>
48
 
 class bm::bvector&lt; Alloc, MS &gt;::reference</h3>
49
 
 
50
 
Class reference implements an object for bit assignment. Since C++ does not provide with build-in bit type supporting l-value operations we have to emulate it. 
51
 
<p>
52
 
 
53
 
<p>
54
 
Definition at line <a class="el" href="a00102.html#l00144">144</a> of file <a class="el" href="a00102.html">bm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
55
 
<a class="anchor" name="a0" doxytag="bm::bvector::reference::reference"></a><p>
56
 
<table class="mdTable" cellpadding="2" cellspacing="0">
57
 
  <tr>
58
 
    <td class="mdRow">
59
 
      <table cellpadding="0" cellspacing="0" border="0">
60
 
        <tr>
61
 
          <td class="mdPrefix" colspan="4">
62
 
template&lt;class Alloc, class MS&gt; </td>
63
 
        </tr>
64
 
        <tr>
65
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::reference           </td>
66
 
          <td class="md" valign="top">(&nbsp;</td>
67
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bvector</a>&lt; Alloc, MS &gt; &amp;&nbsp;</td>
68
 
          <td class="mdname" nowrap> <em>bv</em>, </td>
69
 
        </tr>
70
 
        <tr>
71
 
          <td class="md" nowrap align="right"></td>
72
 
          <td class="md"></td>
73
 
          <td class="md" nowrap><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
74
 
          <td class="mdname" nowrap> <em>position</em></td>
75
 
        </tr>
76
 
        <tr>
77
 
          <td class="md"></td>
78
 
          <td class="md">)&nbsp;</td>
79
 
          <td class="md" colspan="2"><code> [inline]</code></td>
80
 
        </tr>
81
 
      </table>
82
 
    </td>
83
 
  </tr>
84
 
</table>
85
 
<table cellspacing="5" cellpadding="0" border="0">
86
 
  <tr>
87
 
    <td>
88
 
      &nbsp;
89
 
    </td>
90
 
    <td>
91
 
 
92
 
<p>
93
 
 
94
 
<p>
95
 
Definition at line <a class="el" href="a00102.html#l00147">147</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
96
 
  </tr>
97
 
</table>
98
 
<a class="anchor" name="a1" doxytag="bm::bvector::reference::reference"></a><p>
99
 
<table class="mdTable" cellpadding="2" cellspacing="0">
100
 
  <tr>
101
 
    <td class="mdRow">
102
 
      <table cellpadding="0" cellspacing="0" border="0">
103
 
        <tr>
104
 
          <td class="mdPrefix" colspan="4">
105
 
template&lt;class Alloc, class MS&gt; </td>
106
 
        </tr>
107
 
        <tr>
108
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::reference           </td>
109
 
          <td class="md" valign="top">(&nbsp;</td>
110
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td>
111
 
          <td class="mdname1" valign="top" nowrap> <em>ref</em>          </td>
112
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
113
 
          <td class="md" nowrap><code> [inline]</code></td>
114
 
        </tr>
115
 
      </table>
116
 
    </td>
117
 
  </tr>
118
 
</table>
119
 
<table cellspacing="5" cellpadding="0" border="0">
120
 
  <tr>
121
 
    <td>
122
 
      &nbsp;
123
 
    </td>
124
 
    <td>
125
 
 
126
 
<p>
127
 
 
128
 
<p>
129
 
Definition at line <a class="el" href="a00102.html#l00152">152</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
130
 
  </tr>
131
 
</table>
132
 
<hr><h2>Member Function Documentation</h2>
133
 
<a class="anchor" name="a11" doxytag="bm::bvector::reference::flip"></a><p>
134
 
<table class="mdTable" cellpadding="2" cellspacing="0">
135
 
  <tr>
136
 
    <td class="mdRow">
137
 
      <table cellpadding="0" cellspacing="0" border="0">
138
 
        <tr>
139
 
          <td class="mdPrefix" colspan="4">
140
 
template&lt;class Alloc, class MS&gt; </td>
141
 
        </tr>
142
 
        <tr>
143
 
          <td class="md" nowrap valign="top"><a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::flip           </td>
144
 
          <td class="md" valign="top">(&nbsp;</td>
145
 
          <td class="mdname1" valign="top" nowrap>          </td>
146
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
147
 
          <td class="md" nowrap><code> [inline]</code></td>
148
 
        </tr>
149
 
      </table>
150
 
    </td>
151
 
  </tr>
152
 
</table>
153
 
<table cellspacing="5" cellpadding="0" border="0">
154
 
  <tr>
155
 
    <td>
156
 
      &nbsp;
157
 
    </td>
158
 
    <td>
159
 
 
160
 
<p>
161
 
Negates the bit value 
162
 
<p>
163
 
Definition at line <a class="el" href="a00102.html#l00218">218</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
164
 
  </tr>
165
 
</table>
166
 
<a class="anchor" name="a6" doxytag="bm::bvector::reference::operator &="></a><p>
167
 
<table class="mdTable" cellpadding="2" cellspacing="0">
168
 
  <tr>
169
 
    <td class="mdRow">
170
 
      <table cellpadding="0" cellspacing="0" border="0">
171
 
        <tr>
172
 
          <td class="mdPrefix" colspan="4">
173
 
template&lt;class Alloc, class MS&gt; </td>
174
 
        </tr>
175
 
        <tr>
176
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator &amp;=           </td>
177
 
          <td class="md" valign="top">(&nbsp;</td>
178
 
          <td class="md" nowrap valign="top">bool&nbsp;</td>
179
 
          <td class="mdname1" valign="top" nowrap> <em>value</em>          </td>
180
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
181
 
          <td class="md" nowrap> const<code> [inline]</code></td>
182
 
        </tr>
183
 
      </table>
184
 
    </td>
185
 
  </tr>
186
 
</table>
187
 
<table cellspacing="5" cellpadding="0" border="0">
188
 
  <tr>
189
 
    <td>
190
 
      &nbsp;
191
 
    </td>
192
 
    <td>
193
 
 
194
 
<p>
195
 
Bitwise AND. Performs operation: bit = bit AND value 
196
 
<p>
197
 
Definition at line <a class="el" href="a00102.html#l00182">182</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
198
 
  </tr>
199
 
</table>
200
 
<a class="anchor" name="a2" doxytag="bm::bvector::reference::operator bool"></a><p>
201
 
<table class="mdTable" cellpadding="2" cellspacing="0">
202
 
  <tr>
203
 
    <td class="mdRow">
204
 
      <table cellpadding="0" cellspacing="0" border="0">
205
 
        <tr>
206
 
          <td class="mdPrefix" colspan="4">
207
 
template&lt;class Alloc, class MS&gt; </td>
208
 
        </tr>
209
 
        <tr>
210
 
          <td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator bool           </td>
211
 
          <td class="md" valign="top">(&nbsp;</td>
212
 
          <td class="mdname1" valign="top" nowrap>          </td>
213
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
214
 
          <td class="md" nowrap> const<code> [inline]</code></td>
215
 
        </tr>
216
 
      </table>
217
 
    </td>
218
 
  </tr>
219
 
</table>
220
 
<table cellspacing="5" cellpadding="0" border="0">
221
 
  <tr>
222
 
    <td>
223
 
      &nbsp;
224
 
    </td>
225
 
    <td>
226
 
 
227
 
<p>
228
 
 
229
 
<p>
230
 
Definition at line <a class="el" href="a00102.html#l00159">159</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
231
 
  </tr>
232
 
</table>
233
 
<a class="anchor" name="a9" doxytag="bm::bvector::reference::operator!"></a><p>
234
 
<table class="mdTable" cellpadding="2" cellspacing="0">
235
 
  <tr>
236
 
    <td class="mdRow">
237
 
      <table cellpadding="0" cellspacing="0" border="0">
238
 
        <tr>
239
 
          <td class="mdPrefix" colspan="4">
240
 
template&lt;class Alloc, class MS&gt; </td>
241
 
        </tr>
242
 
        <tr>
243
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator!           </td>
244
 
          <td class="md" valign="top">(&nbsp;</td>
245
 
          <td class="mdname1" valign="top" nowrap>          </td>
246
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
247
 
          <td class="md" nowrap> const<code> [inline]</code></td>
248
 
        </tr>
249
 
      </table>
250
 
    </td>
251
 
  </tr>
252
 
</table>
253
 
<table cellspacing="5" cellpadding="0" border="0">
254
 
  <tr>
255
 
    <td>
256
 
      &nbsp;
257
 
    </td>
258
 
    <td>
259
 
 
260
 
<p>
261
 
Logical Not operator 
262
 
<p>
263
 
Definition at line <a class="el" href="a00102.html#l00206">206</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
264
 
  </tr>
265
 
</table>
266
 
<a class="anchor" name="a4" doxytag="bm::bvector::reference::operator="></a><p>
267
 
<table class="mdTable" cellpadding="2" cellspacing="0">
268
 
  <tr>
269
 
    <td class="mdRow">
270
 
      <table cellpadding="0" cellspacing="0" border="0">
271
 
        <tr>
272
 
          <td class="mdPrefix" colspan="4">
273
 
template&lt;class Alloc, class MS&gt; </td>
274
 
        </tr>
275
 
        <tr>
276
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator=           </td>
277
 
          <td class="md" valign="top">(&nbsp;</td>
278
 
          <td class="md" nowrap valign="top">bool&nbsp;</td>
279
 
          <td class="mdname1" valign="top" nowrap> <em>value</em>          </td>
280
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
281
 
          <td class="md" nowrap> const<code> [inline]</code></td>
282
 
        </tr>
283
 
      </table>
284
 
    </td>
285
 
  </tr>
286
 
</table>
287
 
<table cellspacing="5" cellpadding="0" border="0">
288
 
  <tr>
289
 
    <td>
290
 
      &nbsp;
291
 
    </td>
292
 
    <td>
293
 
 
294
 
<p>
295
 
 
296
 
<p>
297
 
Definition at line <a class="el" href="a00102.html#l00170">170</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
298
 
  </tr>
299
 
</table>
300
 
<a class="anchor" name="a3" doxytag="bm::bvector::reference::operator="></a><p>
301
 
<table class="mdTable" cellpadding="2" cellspacing="0">
302
 
  <tr>
303
 
    <td class="mdRow">
304
 
      <table cellpadding="0" cellspacing="0" border="0">
305
 
        <tr>
306
 
          <td class="mdPrefix" colspan="4">
307
 
template&lt;class Alloc, class MS&gt; </td>
308
 
        </tr>
309
 
        <tr>
310
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator=           </td>
311
 
          <td class="md" valign="top">(&nbsp;</td>
312
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td>
313
 
          <td class="mdname1" valign="top" nowrap> <em>ref</em>          </td>
314
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
315
 
          <td class="md" nowrap> const<code> [inline]</code></td>
316
 
        </tr>
317
 
      </table>
318
 
    </td>
319
 
  </tr>
320
 
</table>
321
 
<table cellspacing="5" cellpadding="0" border="0">
322
 
  <tr>
323
 
    <td>
324
 
      &nbsp;
325
 
    </td>
326
 
    <td>
327
 
 
328
 
<p>
329
 
 
330
 
<p>
331
 
Definition at line <a class="el" href="a00102.html#l00164">164</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
332
 
  </tr>
333
 
</table>
334
 
<a class="anchor" name="a5" doxytag="bm::bvector::reference::operator=="></a><p>
335
 
<table class="mdTable" cellpadding="2" cellspacing="0">
336
 
  <tr>
337
 
    <td class="mdRow">
338
 
      <table cellpadding="0" cellspacing="0" border="0">
339
 
        <tr>
340
 
          <td class="mdPrefix" colspan="4">
341
 
template&lt;class Alloc, class MS&gt; </td>
342
 
        </tr>
343
 
        <tr>
344
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator==           </td>
345
 
          <td class="md" valign="top">(&nbsp;</td>
346
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a> &amp;&nbsp;</td>
347
 
          <td class="mdname1" valign="top" nowrap> <em>ref</em>          </td>
348
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
349
 
          <td class="md" nowrap> const<code> [inline]</code></td>
350
 
        </tr>
351
 
      </table>
352
 
    </td>
353
 
  </tr>
354
 
</table>
355
 
<table cellspacing="5" cellpadding="0" border="0">
356
 
  <tr>
357
 
    <td>
358
 
      &nbsp;
359
 
    </td>
360
 
    <td>
361
 
 
362
 
<p>
363
 
 
364
 
<p>
365
 
Definition at line <a class="el" href="a00102.html#l00176">176</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
366
 
  </tr>
367
 
</table>
368
 
<a class="anchor" name="a8" doxytag="bm::bvector::reference::operator^="></a><p>
369
 
<table class="mdTable" cellpadding="2" cellspacing="0">
370
 
  <tr>
371
 
    <td class="mdRow">
372
 
      <table cellpadding="0" cellspacing="0" border="0">
373
 
        <tr>
374
 
          <td class="mdPrefix" colspan="4">
375
 
template&lt;class Alloc, class MS&gt; </td>
376
 
        </tr>
377
 
        <tr>
378
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator^=           </td>
379
 
          <td class="md" valign="top">(&nbsp;</td>
380
 
          <td class="md" nowrap valign="top">bool&nbsp;</td>
381
 
          <td class="mdname1" valign="top" nowrap> <em>value</em>          </td>
382
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
383
 
          <td class="md" nowrap> const<code> [inline]</code></td>
384
 
        </tr>
385
 
      </table>
386
 
    </td>
387
 
  </tr>
388
 
</table>
389
 
<table cellspacing="5" cellpadding="0" border="0">
390
 
  <tr>
391
 
    <td>
392
 
      &nbsp;
393
 
    </td>
394
 
    <td>
395
 
 
396
 
<p>
397
 
Bitwise exclusive-OR (XOR). Performs operation: bit = bit XOR value 
398
 
<p>
399
 
Definition at line <a class="el" href="a00102.html#l00199">199</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
400
 
  </tr>
401
 
</table>
402
 
<a class="anchor" name="a7" doxytag="bm::bvector::reference::operator|="></a><p>
403
 
<table class="mdTable" cellpadding="2" cellspacing="0">
404
 
  <tr>
405
 
    <td class="mdRow">
406
 
      <table cellpadding="0" cellspacing="0" border="0">
407
 
        <tr>
408
 
          <td class="mdPrefix" colspan="4">
409
 
template&lt;class Alloc, class MS&gt; </td>
410
 
        </tr>
411
 
        <tr>
412
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00056.html">reference</a>&amp; <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator|=           </td>
413
 
          <td class="md" valign="top">(&nbsp;</td>
414
 
          <td class="md" nowrap valign="top">bool&nbsp;</td>
415
 
          <td class="mdname1" valign="top" nowrap> <em>value</em>          </td>
416
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
417
 
          <td class="md" nowrap> const<code> [inline]</code></td>
418
 
        </tr>
419
 
      </table>
420
 
    </td>
421
 
  </tr>
422
 
</table>
423
 
<table cellspacing="5" cellpadding="0" border="0">
424
 
  <tr>
425
 
    <td>
426
 
      &nbsp;
427
 
    </td>
428
 
    <td>
429
 
 
430
 
<p>
431
 
Bitwise OR. Performs operation: bit = bit OR value 
432
 
<p>
433
 
Definition at line <a class="el" href="a00102.html#l00189">189</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
434
 
  </tr>
435
 
</table>
436
 
<a class="anchor" name="a10" doxytag="bm::bvector::reference::operator~"></a><p>
437
 
<table class="mdTable" cellpadding="2" cellspacing="0">
438
 
  <tr>
439
 
    <td class="mdRow">
440
 
      <table cellpadding="0" cellspacing="0" border="0">
441
 
        <tr>
442
 
          <td class="mdPrefix" colspan="4">
443
 
template&lt;class Alloc, class MS&gt; </td>
444
 
        </tr>
445
 
        <tr>
446
 
          <td class="md" nowrap valign="top">bool <a class="el" href="a00048.html">bm::bvector</a>&lt; Alloc, MS &gt;::reference::operator~           </td>
447
 
          <td class="md" valign="top">(&nbsp;</td>
448
 
          <td class="mdname1" valign="top" nowrap>          </td>
449
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
450
 
          <td class="md" nowrap> const<code> [inline]</code></td>
451
 
        </tr>
452
 
      </table>
453
 
    </td>
454
 
  </tr>
455
 
</table>
456
 
<table cellspacing="5" cellpadding="0" border="0">
457
 
  <tr>
458
 
    <td>
459
 
      &nbsp;
460
 
    </td>
461
 
    <td>
462
 
 
463
 
<p>
464
 
Bit Not operator 
465
 
<p>
466
 
Definition at line <a class="el" href="a00102.html#l00212">212</a> of file <a class="el" href="a00102.html">bm.h</a>.    </td>
467
 
  </tr>
468
 
</table>
469
 
<hr>The documentation for this class was generated from the following file:<ul>
470
 
<li><a class="el" href="a00102.html">bm.h</a></ul>
471
 
<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 20 13:29:15 2006 for BitMagic by&nbsp;
 
8
<h1>sample5.cpp</h1>Example demonstrates using enumerators - the fastest way to retrieve indexes of 1 bits from the bitvector. This approach works faster than get_first/get_next functions.<p>
 
9
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00084.html#n1">bm::bvector&lt;&gt;::enumerator</a></dd></dl>
 
10
For more information please visit: <a href="http://bmagic.sourceforge.net">http://bmagic.sourceforge.net</a><p>
 
11
<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
 
12
<span class="comment">Copyright(c) 2002-2005 Anatoliy Kuznetsov(anatoliy_kuznetsov at yahoo.com)</span>
 
13
<span class="comment"></span>
 
14
<span class="comment">Permission is hereby granted, free of charge, to any person </span>
 
15
<span class="comment">obtaining a copy of this software and associated documentation </span>
 
16
<span class="comment">files (the "Software"), to deal in the Software without restriction, </span>
 
17
<span class="comment">including without limitation the rights to use, copy, modify, merge, </span>
 
18
<span class="comment">publish, distribute, sublicense, and/or sell copies of the Software, </span>
 
19
<span class="comment">and to permit persons to whom the Software is furnished to do so, </span>
 
20
<span class="comment">subject to the following conditions:</span>
 
21
<span class="comment"></span>
 
22
<span class="comment">The above copyright notice and this permission notice shall be included </span>
 
23
<span class="comment">in all copies or substantial portions of the Software.</span>
 
24
<span class="comment"></span>
 
25
<span class="comment">THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, </span>
 
26
<span class="comment">EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES </span>
 
27
<span class="comment">OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. </span>
 
28
<span class="comment">IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, </span>
 
29
<span class="comment">DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, </span>
 
30
<span class="comment">ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR </span>
 
31
<span class="comment">OTHER DEALINGS IN THE SOFTWARE.</span>
 
32
<span class="comment">*/</span>
 
33
<span class="comment"></span>
 
34
<span class="comment">/** \example sample5.cpp</span>
 
35
<span class="comment"> Example demonstrates using enumerators - the fastest way to retrieve </span>
 
36
<span class="comment"> indexes of 1 bits from the bitvector. This approach works faster than</span>
 
37
<span class="comment"> get_first/get_next functions.</span>
 
38
<span class="comment"> </span>
 
39
<span class="comment">  \sa bm::bvector&lt;&gt;::enumerator </span>
 
40
<span class="comment"></span>
 
41
<span class="comment">For more information please visit:  http://bmagic.sourceforge.net</span>
 
42
<span class="comment"></span>
 
43
<span class="comment">*/</span>
 
44
 
 
45
<span class="preprocessor">#include &lt;iostream&gt;</span>
 
46
<span class="preprocessor">#include &lt;algorithm&gt;</span>
 
47
<span class="preprocessor">#include "<a class="code" href="a00111.html">bm.h</a>"</span>
 
48
 
 
49
<span class="keyword">using</span> <span class="keyword">namespace </span>std;
 
50
 
 
51
<span class="keywordtype">void</span> <a name="a28"></a><a class="code" href="a00124.html#a0">Print</a>(<span class="keywordtype">unsigned</span> n)
 
52
{
 
53
    cout &lt;&lt; n &lt;&lt; endl;;
 
54
}
 
55
 
 
56
<span class="keywordtype">int</span> <a name="a29"></a><a class="code" href="a00120.html#a0">main</a>(<span class="keywordtype">void</span>)
 
57
{
 
58
    <a name="_a30"></a><a class="code" href="a00084.html">bm::bvector&lt;&gt;</a>   bv;    
 
59
 
 
60
    bv[10] = <span class="keyword">true</span>;
 
61
    bv[100] = <span class="keyword">true</span>;
 
62
    bv[10000] = <span class="keyword">true</span>;
 
63
 
 
64
    <a class="code" href="a00084.html">bm::bvector&lt;&gt;</a>::enumerator en = bv.<a name="a31"></a><a class="code" href="a00084.html#a61">first</a>();
 
65
    <a class="code" href="a00084.html">bm::bvector&lt;&gt;</a>::enumerator en_end = bv.<a name="a32"></a><a class="code" href="a00084.html#a62">end</a>();
 
66
 
 
67
    <span class="keywordflow">while</span> (en &lt; en_end)
 
68
    {
 
69
        cout &lt;&lt; *en &lt;&lt; endl;
 
70
        ++en;  <span class="comment">// Fastest way to increment enumerator</span>
 
71
    }
 
72
 
 
73
    en = bv.<a class="code" href="a00084.html#a61">first</a>();
 
74
 
 
75
    <span class="comment">// This is not the fastest way to do the job, because for_each </span>
 
76
    <span class="comment">// often will try to calculate difference between iterators,</span>
 
77
    <span class="comment">// which is expensive for enumerators.</span>
 
78
    <span class="comment">// But it can be useful for some STL loyal applications. </span>
 
79
 
 
80
    std::for_each(en, en_end, Print);
 
81
 
 
82
    <span class="keywordflow">return</span> 0;
 
83
}
 
84
</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Sun Aug 5 14:12:25 2007 for BitMagic by&nbsp;
472
85
<a href="http://www.doxygen.org/index.html">
473
86
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
474
87
</body>