BitMagic-C++
|
Const iterator to do quick traverse of the sparse vector. More...
#include <bmstrsparsevec.h>
Public Types | |
typedef std::input_iterator_tag | iterator_category |
typedef str_sparse_vector< CharType, BV, MAX_STR_SIZE > | str_sparse_vector_type |
typedef str_sparse_vector_type * | str_sparse_vector_type_ptr |
typedef str_sparse_vector_type::value_type | value_type |
typedef str_sparse_vector_type::size_type | size_type |
typedef str_sparse_vector_type::bvector_type | bvector_type |
typedef bvector_type::allocator_type | allocator_type |
typedef allocator_type::allocator_pool_type | allocator_pool_type |
typedef long long | difference_type |
typedef CharType * | pointer |
typedef CharType *& | reference |
Public Member Functions | |
const_iterator () | |
const_iterator (const str_sparse_vector_type *sv) | |
const_iterator (const str_sparse_vector_type *sv, size_type pos) | |
const_iterator (const const_iterator &it) | |
bool | operator== (const const_iterator &it) const |
bool | operator!= (const const_iterator &it) const |
bool | operator< (const const_iterator &it) const |
bool | operator<= (const const_iterator &it) const |
bool | operator> (const const_iterator &it) const |
bool | operator>= (const const_iterator &it) const |
const value_type * | operator* () const |
Get current position (value) More... | |
const_iterator & | operator++ () |
Advance to the next available value. More... | |
const_iterator & | operator++ (int) |
Advance to the next available value. More... | |
const value_type * | value () const |
Get current position (value) More... | |
bool | is_null () const |
Get NULL status. More... | |
bool | valid () const |
Returns true if iterator is at a valid position. More... | |
void | invalidate () |
Invalidate current iterator. More... | |
size_type | pos () const |
Current position (index) in the vector. More... | |
void | go_to (size_type pos) |
re-position to a specified position More... | |
void | advance () |
advance iterator forward by one More... | |
Protected Types | |
typedef bm::heap_matrix< CharType, 1024, MAX_STR_SIZE, allocator_type > | buffer_matrix_type |
Friends | |
class | str_sparse_vector |
Const iterator to do quick traverse of 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 of transposed elements, so memory footprint is not negligable.
Definition at line 167 of file bmstrsparsevec.h.
typedef allocator_type::allocator_pool_type bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::allocator_pool_type |
Definition at line 180 of file bmstrsparsevec.h.
typedef bvector_type::allocator_type bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::allocator_type |
Definition at line 179 of file bmstrsparsevec.h.
|
protected |
Definition at line 240 of file bmstrsparsevec.h.
typedef str_sparse_vector_type::bvector_type bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::bvector_type |
Definition at line 178 of file bmstrsparsevec.h.
typedef long long bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::difference_type |
Definition at line 182 of file bmstrsparsevec.h.
typedef std::input_iterator_tag bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::iterator_category |
Definition at line 172 of file bmstrsparsevec.h.
typedef CharType* bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::pointer |
Definition at line 183 of file bmstrsparsevec.h.
typedef CharType*& bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::reference |
Definition at line 184 of file bmstrsparsevec.h.
typedef str_sparse_vector_type::size_type bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::size_type |
Definition at line 177 of file bmstrsparsevec.h.
typedef str_sparse_vector<CharType, BV, MAX_STR_SIZE> bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::str_sparse_vector_type |
Definition at line 174 of file bmstrsparsevec.h.
typedef str_sparse_vector_type* bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::str_sparse_vector_type_ptr |
Definition at line 175 of file bmstrsparsevec.h.
typedef str_sparse_vector_type::value_type bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::value_type |
Definition at line 176 of file bmstrsparsevec.h.
bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator | ( | ) |
Definition at line 1687 of file bmstrsparsevec.h.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator().
bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator | ( | const str_sparse_vector_type * | sv | ) |
Definition at line 1702 of file bmstrsparsevec.h.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator(), bm::id_max, bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::pos(), and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::size().
bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator | ( | const str_sparse_vector_type * | sv, |
size_type | pos | ||
) |
bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator | ( | const const_iterator & | it | ) |
void bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::advance | ( | ) |
advance iterator forward by one
Definition at line 1752 of file bmstrsparsevec.h.
References bm::id_max, bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::invalidate(), and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::size().
void bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::go_to | ( | size_type | pos | ) |
re-position to a specified position
Definition at line 1742 of file bmstrsparsevec.h.
References bm::id_max, and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::size().
|
inline |
Invalidate current iterator.
Definition at line 225 of file bmstrsparsevec.h.
References bm::id_max.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::advance().
|
inline |
Get NULL status.
Definition at line 219 of file bmstrsparsevec.h.
|
inline |
Definition at line 193 of file bmstrsparsevec.h.
|
inline |
Get current position (value)
Definition at line 205 of file bmstrsparsevec.h.
|
inline |
Advance to the next available value.
Definition at line 208 of file bmstrsparsevec.h.
|
inline |
Advance to the next available value.
Definition at line 211 of file bmstrsparsevec.h.
|
inline |
Definition at line 195 of file bmstrsparsevec.h.
|
inline |
Definition at line 197 of file bmstrsparsevec.h.
|
inline |
Definition at line 191 of file bmstrsparsevec.h.
|
inline |
Definition at line 199 of file bmstrsparsevec.h.
|
inline |
Definition at line 201 of file bmstrsparsevec.h.
|
inline |
Current position (index) in the vector.
Definition at line 228 of file bmstrsparsevec.h.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator().
|
inline |
Returns true if iterator is at a valid position.
Definition at line 222 of file bmstrsparsevec.h.
References bm::id_max.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::value().
const str_sparse_vector< CharType, BV, MAX_STR_SIZE >::value_type * bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::value | ( | ) | const |
Get current position (value)
Definition at line 1720 of file bmstrsparsevec.h.
References BM_ASSERT, bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::decode(), bm::id_max, and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::valid().
|
friend |
Definition at line 170 of file bmstrsparsevec.h.