BitMagic-C++
|
Const iterator to traverse the sparse vector. More...
#include <bmsparsevec.h>
Public Types | |
typedef std::input_iterator_tag | iterator_category |
typedef sparse_vector< Val, BV > | sparse_vector_type |
typedef sparse_vector_type * | sparse_vector_type_ptr |
typedef sparse_vector_type::value_type | value_type |
typedef sparse_vector_type::size_type | size_type |
typedef sparse_vector_type::bvector_type | bvector_type |
typedef bvector_type::allocator_type | allocator_type |
typedef bvector_type::allocator_type::allocator_pool_type | allocator_pool_type |
typedef bm::byte_buffer< allocator_type > | buffer_type |
typedef unsigned | difference_type |
typedef unsigned * | pointer |
typedef value_type & | reference |
Public Member Functions | |
const_iterator () BMNOEXCEPT | |
const_iterator (const sparse_vector_type *sv) BMNOEXCEPT | |
const_iterator (const sparse_vector_type *sv, size_type pos) BMNOEXCEPT | |
const_iterator (const const_iterator &it) BMNOEXCEPT | |
bool | operator== (const const_iterator &it) const BMNOEXCEPT |
bool | operator!= (const const_iterator &it) const BMNOEXCEPT |
bool | operator< (const const_iterator &it) const BMNOEXCEPT |
bool | operator<= (const const_iterator &it) const BMNOEXCEPT |
bool | operator> (const const_iterator &it) const BMNOEXCEPT |
bool | operator>= (const const_iterator &it) const BMNOEXCEPT |
value_type | operator* () const |
Get current position (value) More... | |
const_iterator & | operator++ () BMNOEXCEPT |
Advance to the next available value. More... | |
const_iterator & | operator++ (int) |
Advance to the next available value. More... | |
value_type | value () const |
Get current position (value) More... | |
bool | is_null () const BMNOEXCEPT |
Get NULL status. More... | |
bool | valid () const BMNOEXCEPT |
Returns true if iterator is at a valid position. More... | |
void | invalidate () BMNOEXCEPT |
Invalidate current iterator. More... | |
size_type | pos () const BMNOEXCEPT |
Current position (index) in the vector. More... | |
void | go_to (size_type pos) BMNOEXCEPT |
re-position to a specified position More... | |
bool | advance () BMNOEXCEPT |
advance iterator forward by one More... | |
void | skip_zero_values () BMNOEXCEPT |
Friends | |
class | sparse_vector |
Const iterator to traverse the sparse vector.
Implementation uses buffer for decoding so, competing changes to the original vector may not match the iterator returned values.
This iterator keeps an operational buffer for 8K elements, so memory footprint is not negligable (about 64K for unsigned int)
Definition at line 150 of file bmsparsevec.h.
typedef bvector_type::allocator_type::allocator_pool_type bm::sparse_vector< Val, BV >::const_iterator::allocator_pool_type |
Definition at line 164 of file bmsparsevec.h.
typedef bvector_type::allocator_type bm::sparse_vector< Val, BV >::const_iterator::allocator_type |
Definition at line 163 of file bmsparsevec.h.
typedef bm::byte_buffer<allocator_type> bm::sparse_vector< Val, BV >::const_iterator::buffer_type |
Definition at line 165 of file bmsparsevec.h.
typedef sparse_vector_type::bvector_type bm::sparse_vector< Val, BV >::const_iterator::bvector_type |
Definition at line 162 of file bmsparsevec.h.
typedef unsigned bm::sparse_vector< Val, BV >::const_iterator::difference_type |
Definition at line 167 of file bmsparsevec.h.
typedef std::input_iterator_tag bm::sparse_vector< Val, BV >::const_iterator::iterator_category |
Definition at line 156 of file bmsparsevec.h.
typedef unsigned* bm::sparse_vector< Val, BV >::const_iterator::pointer |
Definition at line 168 of file bmsparsevec.h.
typedef value_type& bm::sparse_vector< Val, BV >::const_iterator::reference |
Definition at line 169 of file bmsparsevec.h.
typedef sparse_vector_type::size_type bm::sparse_vector< Val, BV >::const_iterator::size_type |
Definition at line 161 of file bmsparsevec.h.
typedef sparse_vector<Val, BV> bm::sparse_vector< Val, BV >::const_iterator::sparse_vector_type |
Definition at line 158 of file bmsparsevec.h.
typedef sparse_vector_type* bm::sparse_vector< Val, BV >::const_iterator::sparse_vector_type_ptr |
Definition at line 159 of file bmsparsevec.h.
typedef sparse_vector_type::value_type bm::sparse_vector< Val, BV >::const_iterator::value_type |
Definition at line 160 of file bmsparsevec.h.
bm::sparse_vector< Val, BV >::const_iterator::const_iterator |
Definition at line 1922 of file bmsparsevec.h.
bm::sparse_vector< Val, BV >::const_iterator::const_iterator | ( | const sparse_vector_type * | sv | ) |
bm::sparse_vector< Val, BV >::const_iterator::const_iterator | ( | const sparse_vector_type * | sv, |
size_type | pos | ||
) |
bm::sparse_vector< Val, BV >::const_iterator::const_iterator | ( | const const_iterator & | it | ) |
bool bm::sparse_vector< Val, BV >::const_iterator::advance |
advance iterator forward by one
Definition at line 1970 of file bmsparsevec.h.
References bm::id_max.
Referenced by bm::sparse_vector< Val, BV >::const_iterator::operator++().
void bm::sparse_vector< Val, BV >::const_iterator::go_to | ( | size_type | pos | ) |
re-position to a specified position
Definition at line 1961 of file bmsparsevec.h.
References bm::id_max.
|
inline |
bool bm::sparse_vector< Val, BV >::const_iterator::is_null |
Get NULL status.
Definition at line 2039 of file bmsparsevec.h.
|
inline |
Definition at line 179 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::const_iterator::operator==().
|
inline |
Get current position (value)
Definition at line 191 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::const_iterator::value().
|
inline |
Advance to the next available value.
Definition at line 195 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::const_iterator::advance().
|
inline |
Advance to the next available value.
Definition at line 198 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::const_iterator::advance().
|
inline |
Definition at line 181 of file bmsparsevec.h.
|
inline |
Definition at line 183 of file bmsparsevec.h.
|
inline |
Definition at line 177 of file bmsparsevec.h.
Referenced by bm::sparse_vector< Val, BV >::const_iterator::operator!=().
|
inline |
Definition at line 185 of file bmsparsevec.h.
|
inline |
Definition at line 187 of file bmsparsevec.h.
|
inline |
Current position (index) in the vector.
Definition at line 215 of file bmsparsevec.h.
void bm::sparse_vector< Val, BV >::const_iterator::skip_zero_values |
Definition at line 2011 of file bmsparsevec.h.
References bm::id_max.
|
inline |
Returns true if iterator is at a valid position.
Definition at line 209 of file bmsparsevec.h.
References bm::id_max.
sparse_vector< Val, BV >::const_iterator::value_type bm::sparse_vector< Val, BV >::const_iterator::value |
Get current position (value)
Definition at line 1993 of file bmsparsevec.h.
References BM_ASSERT.
Referenced by bm::sparse_vector< Val, BV >::const_iterator::operator*().
|
friend |
Definition at line 153 of file bmsparsevec.h.