|
BitMagic-C++
|
Constant iterator designed to enumerate "ON" bits counted_enumerator keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit. More...
#include <bm.h>


Public Types | |
| typedef std::input_iterator_tag | iterator_category |
Public Types inherited from bm::bvector< Alloc >::enumerator | |
| typedef std::input_iterator_tag | iterator_category |
| typedef size_type | value_type |
| typedef unsigned | difference_type |
| typedef unsigned * | pointer |
| typedef unsigned & | reference |
Public Member Functions | |
| counted_enumerator () BMNOEXCEPT | |
| counted_enumerator (const enumerator &en) BMNOEXCEPT | |
| counted_enumerator & | operator= (const enumerator &en) BMNOEXCEPT |
| counted_enumerator & | operator++ () BMNOEXCEPT |
| counted_enumerator | operator++ (int) |
| size_type | count () const BMNOEXCEPT |
| Number of bits ON starting from the . More... | |
Public Member Functions inherited from bm::bvector< Alloc >::enumerator | |
| enumerator () BMNOEXCEPT | |
| enumerator (const bvector< Alloc > *bv) BMNOEXCEPT | |
| Construct enumerator associated with a vector. This construction creates unpositioned iterator with status valid() == false. It can be re-positioned using go_first() or go_to() More... | |
| enumerator (const bvector< Alloc > *bv, size_type pos) BMNOEXCEPT | |
| Construct enumerator for bit vector. More... | |
| size_type | operator* () const BMNOEXCEPT |
| Get current position (value) More... | |
| size_type | value () const BMNOEXCEPT |
| Get current position (value) More... | |
| enumerator & | operator++ () BMNOEXCEPT |
| Advance enumerator forward to the next available bit. More... | |
| enumerator | operator++ (int) BMNOEXCEPT |
| Advance enumerator forward to the next available bit. Possibly do NOT use this operator it is slower than the pre-fix increment. More... | |
| void | go_first () BMNOEXCEPT |
| Position enumerator to the first available bit. More... | |
| bool | advance () BMNOEXCEPT |
| bool | go_up () BMNOEXCEPT |
| Advance enumerator to the next available bit. More... | |
| bool | skip_to_rank (size_type rank) BMNOEXCEPT |
| Skip to specified relative rank. More... | |
| bool | skip (size_type rank) BMNOEXCEPT |
| Skip specified number of bits from enumeration. More... | |
| bool | go_to (size_type pos) BMNOEXCEPT |
| go to a specific position in the bit-vector (or next) More... | |
Public Member Functions inherited from bm::bvector< Alloc >::iterator_base | |
| iterator_base () BMNOEXCEPT | |
| bool | operator== (const iterator_base &it) const BMNOEXCEPT |
| bool | operator!= (const iterator_base &it) const BMNOEXCEPT |
| bool | operator< (const iterator_base &it) const BMNOEXCEPT |
| bool | operator<= (const iterator_base &it) const BMNOEXCEPT |
| bool | operator> (const iterator_base &it) const BMNOEXCEPT |
| bool | operator>= (const iterator_base &it) const BMNOEXCEPT |
| bool | valid () const BMNOEXCEPT |
| Checks if iterator is still valid. Analog of != 0 comparison for pointers. More... | |
| void | invalidate () BMNOEXCEPT |
| Turns iterator into an invalid state. More... | |
| bool | compare_state (const iterator_base &ib) const BMNOEXCEPT |
| Compare FSMs for testing purposes. More... | |
Additional Inherited Members | |
Protected Attributes inherited from bm::bvector< Alloc >::iterator_base | |
| bm::bvector< Alloc > * | bv_ |
| Pointer on parent bitvector. More... | |
| size_type | position_ |
| Bit position (bit idx) More... | |
| const bm::word_t * | block_ |
| Block pointer.(NULL-invalid) More... | |
| unsigned | block_type_ |
| Type of block. 0-Bit, 1-GAP. More... | |
| block_idx_type | block_idx_ |
| Block index. More... | |
| union bm::bvector::iterator_base::block_descr | bdescr_ |
Constant iterator designed to enumerate "ON" bits counted_enumerator keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit.
When increment operator called current position is increased by 1.
| typedef std::input_iterator_tag bm::bvector< Alloc >::counted_enumerator::iterator_category |
|
inline |
|
inline |
Definition at line 723 of file bm.h.
References bm::bvector< Alloc >::iterator_base::valid().
|
inline |
Number of bits ON starting from the .
Method returns number of ON bits fromn the bit 0 to the current bit For the first bit in bitvector it is 1, for the second 2
Definition at line 757 of file bm.h.
Referenced by bv_counted_enumerator().
|
inline |
Definition at line 737 of file bm.h.
References bm::bvector< Alloc >::enumerator::go_up(), and bm::bvector< Alloc >::iterator_base::valid().
|
inline |
Definition at line 744 of file bm.h.
References bm::bvector< Alloc >::enumerator::go_up(), and bm::bvector< Alloc >::iterator_base::valid().
|
inline |
Definition at line 728 of file bm.h.
References bm::bvector< Alloc >::iterator_base::valid().
1.8.17