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 | |
More... | |
counted_enumerator & | operator= (const enumerator &en) BMNOEXCEPT |
More... | |
counted_enumerator & | operator++ () BMNOEXCEPT |
More... | |
counted_enumerator | operator++ (int) |
More... | |
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. Important: 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=0) BMNOEXCEPT | |
Construct enumerator for bit vector. 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 |
More... | |
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 |
More... | |
bool | operator!= (const iterator_base &it) const BMNOEXCEPT |
More... | |
bool | operator< (const iterator_base &it) const BMNOEXCEPT |
More... | |
bool | operator<= (const iterator_base &it) const BMNOEXCEPT |
More... | |
bool | operator> (const iterator_base &it) const BMNOEXCEPT |
More... | |
bool | operator>= (const iterator_base &it) const BMNOEXCEPT |
More... | |
bool | valid () const BMNOEXCEPT |
Checks if iterator is still valid. 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_ |
More... | |
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.
|
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 775 of file bm.h.
Referenced by bv_counted_enumerator().
|
inline |
Definition at line 755 of file bm.h.
References bm::bvector< Alloc >::enumerator::go_up(), and bm::bvector< Alloc >::iterator_base::valid().
|
inline |
Definition at line 762 of file bm.h.
References bm::bvector< Alloc >::enumerator::go_up(), and bm::bvector< Alloc >::iterator_base::valid().
|
inline |
Definition at line 746 of file bm.h.
References bm::bvector< Alloc >::iterator_base::valid().