1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>BitMagic: bm::bvector< Alloc, MS >::enumerator Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.4.1 -->
7
<div class="qindex"><a class="qindex" href="index.html">Main 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 Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="examples.html">Examples</a></div>
9
<a class="el" href="a00092.html">bm</a>::<a class="el" href="a00048.html">bvector</a>::<a class="el" href="a00050.html">enumerator</a></div>
10
<h1>bm::bvector< Alloc, MS >::enumerator Class Reference<br>
12
[<a class="el" href="a00095.html">The Main bvector<> Group</a>]</small>
13
</h1>Constant input iterator designed to enumerate "ON" bits.
14
<a href="#_details">More...</a>
16
<code>#include <<a class="el" href="a00102.html">bm.h</a>></code>
18
Inheritance diagram for bm::bvector< Alloc, MS >::enumerator:<p><center><img src="a00167.png" border="0" usemap="#a00168" alt="Inheritance graph"></center>
20
<area href="a00049.html" shape="rect" coords="7,154,287,176" alt="">
21
<area href="a00052.html" shape="rect" coords="28,16,265,37" alt="">
23
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for bm::bvector< Alloc, MS >::enumerator:<p><center><img src="a00169.png" border="0" usemap="#a00170" alt="Collaboration graph"></center>
25
<area href="a00052.html" shape="rect" coords="216,197,453,219" alt="">
26
<area href="a00054.html" shape="rect" coords="179,107,491,128" alt="">
27
<area href="a00055.html" shape="rect" coords="7,16,319,37" alt="">
28
<area href="a00053.html" shape="rect" coords="343,16,671,37" alt="">
30
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><table border="0" cellpadding="0" cellspacing="0">
32
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
33
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::input_iterator_tag </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#w0">iterator_category</a></td></tr>
35
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#w1">value_type</a></td></tr>
37
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#w2">difference_type</a></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#w3">pointer</a></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#w4">reference</a></td></tr>
43
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a0">enumerator</a> ()</td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a1">enumerator</a> (const <a class="el" href="a00048.html">bvector</a>< Alloc, MS > *<a class="el" href="a00048.html">bvect</a>, int position)</td></tr>
48
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a2">operator *</a> () const </td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html">enumerator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a3">operator++</a> ()</td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html">enumerator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a4">operator++</a> (int)</td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a5">go_first</a> ()</td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html">enumerator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a6">go_up</a> ()</td></tr>
59
<hr><a name="_details"></a><h2>Detailed Description</h2>
60
<h3>template<class Alloc, class MS><br>
61
class bm::bvector< Alloc, MS >::enumerator</h3>
63
Constant input iterator designed to enumerate "ON" bits.
67
Definition at line <a class="el" href="a00102.html#l00389">389</a> of file <a class="el" href="a00102.html">bm.h</a>.<hr><h2>Member Typedef Documentation</h2>
68
<a class="anchor" name="w2" doxytag="bm::bvector::enumerator::difference_type"></a><p>
69
<table class="mdTable" cellpadding="2" cellspacing="0">
72
<table cellpadding="0" cellspacing="0" border="0">
74
<td class="mdPrefix" colspan="4">
75
template<class Alloc, class MS> </td>
78
<td class="md" nowrap valign="top">typedef unsigned <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00050.html#w2">enumerator::difference_type</a> </td>
84
<table cellspacing="5" cellpadding="0" border="0">
94
Definition at line <a class="el" href="a00102.html#l00396">396</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
97
<a class="anchor" name="w0" doxytag="bm::bvector::enumerator::iterator_category"></a><p>
98
<table class="mdTable" cellpadding="2" cellspacing="0">
101
<table cellpadding="0" cellspacing="0" border="0">
103
<td class="mdPrefix" colspan="4">
104
template<class Alloc, class MS> </td>
107
<td class="md" nowrap valign="top">typedef std::input_iterator_tag <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00050.html#w0">enumerator::iterator_category</a> </td>
113
<table cellspacing="5" cellpadding="0" border="0">
123
Reimplemented in <a class="el" href="a00049.html#w0">bm::bvector< Alloc, MS >::counted_enumerator</a>.
125
Definition at line <a class="el" href="a00102.html#l00393">393</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
128
<a class="anchor" name="w3" doxytag="bm::bvector::enumerator::pointer"></a><p>
129
<table class="mdTable" cellpadding="2" cellspacing="0">
132
<table cellpadding="0" cellspacing="0" border="0">
134
<td class="mdPrefix" colspan="4">
135
template<class Alloc, class MS> </td>
138
<td class="md" nowrap valign="top">typedef unsigned* <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00050.html#w3">enumerator::pointer</a> </td>
144
<table cellspacing="5" cellpadding="0" border="0">
154
Definition at line <a class="el" href="a00102.html#l00397">397</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
157
<a class="anchor" name="w4" doxytag="bm::bvector::enumerator::reference"></a><p>
158
<table class="mdTable" cellpadding="2" cellspacing="0">
161
<table cellpadding="0" cellspacing="0" border="0">
163
<td class="mdPrefix" colspan="4">
164
template<class Alloc, class MS> </td>
167
<td class="md" nowrap valign="top">typedef unsigned& <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00050.html#w4">enumerator::reference</a> </td>
173
<table cellspacing="5" cellpadding="0" border="0">
183
Definition at line <a class="el" href="a00102.html#l00398">398</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
186
<a class="anchor" name="w1" doxytag="bm::bvector::enumerator::value_type"></a><p>
187
<table class="mdTable" cellpadding="2" cellspacing="0">
190
<table cellpadding="0" cellspacing="0" border="0">
192
<td class="mdPrefix" colspan="4">
193
template<class Alloc, class MS> </td>
196
<td class="md" nowrap valign="top">typedef unsigned <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::<a class="el" href="a00050.html#w1">enumerator::value_type</a> </td>
202
<table cellspacing="5" cellpadding="0" border="0">
212
Definition at line <a class="el" href="a00102.html#l00395">395</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
215
<hr><h2>Constructor & Destructor Documentation</h2>
216
<a class="anchor" name="a0" doxytag="bm::bvector::enumerator::enumerator"></a><p>
217
<table class="mdTable" cellpadding="2" cellspacing="0">
220
<table cellpadding="0" cellspacing="0" border="0">
222
<td class="mdPrefix" colspan="4">
223
template<class Alloc, class MS> </td>
226
<td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::enumerator </td>
227
<td class="md" valign="top">( </td>
228
<td class="mdname1" valign="top" nowrap> </td>
229
<td class="md" valign="top"> ) </td>
230
<td class="md" nowrap><code> [inline]</code></td>
236
<table cellspacing="5" cellpadding="0" border="0">
246
Definition at line <a class="el" href="a00102.html#l00401">401</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
249
<a class="anchor" name="a1" doxytag="bm::bvector::enumerator::enumerator"></a><p>
250
<table class="mdTable" cellpadding="2" cellspacing="0">
253
<table cellpadding="0" cellspacing="0" border="0">
255
<td class="mdPrefix" colspan="4">
256
template<class Alloc, class MS> </td>
259
<td class="md" nowrap valign="top"><a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::enumerator </td>
260
<td class="md" valign="top">( </td>
261
<td class="md" nowrap valign="top">const <a class="el" href="a00048.html">bvector</a>< Alloc, MS > * </td>
262
<td class="mdname" nowrap> <em>bvect</em>, </td>
265
<td class="md" nowrap align="right"></td>
267
<td class="md" nowrap>int </td>
268
<td class="mdname" nowrap> <em>position</em></td>
272
<td class="md">) </td>
273
<td class="md" colspan="2"><code> [inline]</code></td>
279
<table cellspacing="5" cellpadding="0" border="0">
289
Definition at line <a class="el" href="a00102.html#l00402">402</a> of file <a class="el" href="a00102.html">bm.h</a>.
291
References <a class="el" href="a00102.html#l00434">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00102.html#l00285">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>. </td>
294
<hr><h2>Member Function Documentation</h2>
295
<a class="anchor" name="a5" doxytag="bm::bvector::enumerator::go_first"></a><p>
296
<table class="mdTable" cellpadding="2" cellspacing="0">
299
<table cellpadding="0" cellspacing="0" border="0">
301
<td class="mdPrefix" colspan="4">
302
template<class Alloc, class MS> </td>
305
<td class="md" nowrap valign="top">void <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::go_first </td>
306
<td class="md" valign="top">( </td>
307
<td class="mdname1" valign="top" nowrap> </td>
308
<td class="md" valign="top"> ) </td>
309
<td class="md" nowrap><code> [inline]</code></td>
315
<table cellspacing="5" cellpadding="0" border="0">
325
Definition at line <a class="el" href="a00102.html#l00434">434</a> of file <a class="el" href="a00102.html">bm.h</a>.
327
References <a class="el" href="a00104.html#l00083">bm::bits_in_block</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, and <a class="el" href="a00102.html#l00285">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>.
329
Referenced by <a class="el" href="a00102.html#l00402">bm::bvector< Alloc, MS >::enumerator::enumerator()</a>. </td>
332
<a class="anchor" name="a6" doxytag="bm::bvector::enumerator::go_up"></a><p>
333
<table class="mdTable" cellpadding="2" cellspacing="0">
336
<table cellpadding="0" cellspacing="0" border="0">
338
<td class="mdPrefix" colspan="4">
339
template<class Alloc, class MS> </td>
342
<td class="md" nowrap valign="top"><a class="el" href="a00050.html">enumerator</a>& <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::go_up </td>
343
<td class="md" valign="top">( </td>
344
<td class="mdname1" valign="top" nowrap> </td>
345
<td class="md" valign="top"> ) </td>
346
<td class="md" nowrap><code> [inline]</code></td>
352
<table cellspacing="5" cellpadding="0" border="0">
362
Definition at line <a class="el" href="a00102.html#l00499">499</a> of file <a class="el" href="a00102.html">bm.h</a>.
364
References <a class="el" href="a00102.html#l00319">bm::bvector< Alloc, MS >::iterator_base::block_descr::bit_</a>, <a class="el" href="a00106.html#l03193">bm::bit_list()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00059">BM_IS_GAP</a>, <a class="el" href="a00102.html#l00320">bm::bvector< Alloc, MS >::iterator_base::block_descr::gap_</a>, and <a class="el" href="a00102.html#l00285">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>.
366
Referenced by <a class="el" href="a00102.html#l00756">bm::bvector< Alloc, MS >::counted_enumerator::operator++()</a>, and <a class="el" href="a00102.html#l00421">bm::bvector< Alloc, MS >::enumerator::operator++()</a>. </td>
369
<a class="anchor" name="a2" doxytag="bm::bvector::enumerator::operator *"></a><p>
370
<table class="mdTable" cellpadding="2" cellspacing="0">
373
<table cellpadding="0" cellspacing="0" border="0">
375
<td class="mdPrefix" colspan="4">
376
template<class Alloc, class MS> </td>
379
<td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::operator * </td>
380
<td class="md" valign="top">( </td>
381
<td class="mdname1" valign="top" nowrap> </td>
382
<td class="md" valign="top"> ) </td>
383
<td class="md" nowrap> const<code> [inline]</code></td>
389
<table cellspacing="5" cellpadding="0" border="0">
399
Definition at line <a class="el" href="a00102.html#l00416">416</a> of file <a class="el" href="a00102.html">bm.h</a>. </td>
402
<a class="anchor" name="a4" doxytag="bm::bvector::enumerator::operator++"></a><p>
403
<table class="mdTable" cellpadding="2" cellspacing="0">
406
<table cellpadding="0" cellspacing="0" border="0">
408
<td class="mdPrefix" colspan="4">
409
template<class Alloc, class MS> </td>
412
<td class="md" nowrap valign="top"><a class="el" href="a00050.html">enumerator</a> <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::operator++ </td>
413
<td class="md" valign="top">( </td>
414
<td class="md" nowrap valign="top">int </td>
415
<td class="mdname1" valign="top" nowrap> </td>
416
<td class="md" valign="top"> ) </td>
417
<td class="md" nowrap><code> [inline]</code></td>
423
<table cellspacing="5" cellpadding="0" border="0">
433
Reimplemented in <a class="el" href="a00049.html#a4">bm::bvector< Alloc, MS >::counted_enumerator</a>.
435
Definition at line <a class="el" href="a00102.html#l00426">426</a> of file <a class="el" href="a00102.html">bm.h</a>.
437
References <a class="el" href="a00102.html#l00499">bm::bvector< Alloc, MS >::enumerator::go_up()</a>. </td>
440
<a class="anchor" name="a3" doxytag="bm::bvector::enumerator::operator++"></a><p>
441
<table class="mdTable" cellpadding="2" cellspacing="0">
444
<table cellpadding="0" cellspacing="0" border="0">
446
<td class="mdPrefix" colspan="4">
447
template<class Alloc, class MS> </td>
450
<td class="md" nowrap valign="top"><a class="el" href="a00050.html">enumerator</a>& <a class="el" href="a00048.html">bm::bvector</a>< Alloc, MS >::enumerator::operator++ </td>
451
<td class="md" valign="top">( </td>
452
<td class="mdname1" valign="top" nowrap> </td>
453
<td class="md" valign="top"> ) </td>
454
<td class="md" nowrap><code> [inline]</code></td>
460
<table cellspacing="5" cellpadding="0" border="0">
470
Reimplemented in <a class="el" href="a00049.html#a3">bm::bvector< Alloc, MS >::counted_enumerator</a>.
472
Definition at line <a class="el" href="a00102.html#l00421">421</a> of file <a class="el" href="a00102.html">bm.h</a>.
474
References <a class="el" href="a00102.html#l00499">bm::bvector< Alloc, MS >::enumerator::go_up()</a>. </td>
477
<hr>The documentation for this class was generated from the following file:<ul>
478
<li><a class="el" href="a00102.html">bm.h</a></ul>
479
<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 20 13:29:14 2006 for BitMagic by
480
<a href="http://www.doxygen.org/index.html">
481
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>