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 () BMNOEXCEPT | |
const_iterator (const str_sparse_vector_type *sv) BMNOEXCEPT | |
const_iterator (const str_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 |
const value_type * | operator* () const BMNOEXCEPT |
Get current position (value) | |
const_iterator & | operator++ () BMNOEXCEPT |
Advance to the next available value. | |
const_iterator & | operator++ (int) BMNOEXCEPT |
Advance to the next available value. | |
const value_type * | value () const BMNOEXCEPT |
Get current position (value) | |
bool | is_null () const BMNOEXCEPT |
Get NULL status. | |
bool | valid () const BMNOEXCEPT |
Returns true if iterator is at a valid position. | |
void | invalidate () BMNOEXCEPT |
Invalidate current iterator. | |
size_type | pos () const BMNOEXCEPT |
Current position (index) in the vector. | |
void | go_to (size_type pos) BMNOEXCEPT |
re-position to a specified position | |
void | advance () BMNOEXCEPT |
advance iterator forward by one | |
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 241 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 1750 of file bmstrsparsevec.h.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::end(), and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::get_const_iterator().
bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator | ( | const str_sparse_vector_type * | sv | ) |
Definition at line 1765 of file bmstrsparsevec.h.
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 1818 of file bmstrsparsevec.h.
References bm::id_max.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator++(), and bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator++().
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 1806 of file bmstrsparsevec.h.
References bm::id_max.
|
inline |
Invalidate current iterator.
Definition at line 226 of file bmstrsparsevec.h.
References bm::id_max.
|
inline |
Get NULL status.
Definition at line 220 of file bmstrsparsevec.h.
References bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_null().
Referenced by main().
|
inline |
Definition at line 193 of file bmstrsparsevec.h.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator==().
|
inline |
Get current position (value)
Definition at line 205 of file bmstrsparsevec.h.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::value().
|
inline |
Advance to the next available value.
Definition at line 208 of file bmstrsparsevec.h.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::advance().
|
inline |
Advance to the next available value.
Definition at line 212 of file bmstrsparsevec.h.
References bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::advance().
|
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.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator!=().
|
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 229 of file bmstrsparsevec.h.
|
inline |
Returns true if iterator is at a valid position.
Definition at line 223 of file bmstrsparsevec.h.
References bm::id_max.
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 1783 of file bmstrsparsevec.h.
References BM_ASSERT, and bm::id_max.
Referenced by bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator*().
|
friend |
Definition at line 170 of file bmstrsparsevec.h.