|
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 std::basic_string_view< CharType > | string_view_type |
| typedef str_sparse_vector< CharType, BV, 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 | |
| Construct iterator (not attached to any particular vector). | |
| const_iterator (const str_sparse_vector_type *sv) BMNOEXCEPT | |
| Construct iterator (attached to sparse vector). | |
| const_iterator (const str_sparse_vector_type *sv, size_type pos) BMNOEXCEPT | |
| Construct iterator (attached to sparse vector) and positioned. | |
| const_iterator (const const_iterator &it) BMNOEXCEPT | |
| void | set_substr (unsigned from, unsigned len=0) BMNOEXCEPT |
| setup iterator to retrieve a sub-string of a string | |
| 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 |
| 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 |
| Get zero terminated string value at the current position. | |
| string_view_type | get_string_view () const |
| Get current string as string_view. | |
| 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 | |
| enum | buf_size_e { n_rows = 1024 } |
| typedef dynamic_heap_matrix< CharType, 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 decoded elements, so memory footprint is NOT negligable.
Definition at line 213 of file bmstrsparsevec.h.
| typedef allocator_type::allocator_pool_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::allocator_pool_type |
Definition at line 227 of file bmstrsparsevec.h.
| typedef bvector_type::allocator_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::allocator_type |
Definition at line 226 of file bmstrsparsevec.h.
|
protected |
Definition at line 314 of file bmstrsparsevec.h.
| typedef str_sparse_vector_type::bvector_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::bvector_type |
Definition at line 225 of file bmstrsparsevec.h.
| typedef long long bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::difference_type |
Definition at line 229 of file bmstrsparsevec.h.
| typedef std::input_iterator_tag bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::iterator_category |
Definition at line 218 of file bmstrsparsevec.h.
| typedef CharType* bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::pointer |
Definition at line 230 of file bmstrsparsevec.h.
| typedef CharType*& bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::reference |
Definition at line 231 of file bmstrsparsevec.h.
| typedef str_sparse_vector_type::size_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::size_type |
Definition at line 224 of file bmstrsparsevec.h.
| typedef str_sparse_vector<CharType, BV, STR_SIZE> bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::str_sparse_vector_type |
Definition at line 221 of file bmstrsparsevec.h.
| typedef str_sparse_vector_type* bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::str_sparse_vector_type_ptr |
Definition at line 222 of file bmstrsparsevec.h.
| typedef std::basic_string_view<CharType> bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::string_view_type |
Definition at line 219 of file bmstrsparsevec.h.
| typedef str_sparse_vector_type::value_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::value_type |
Definition at line 223 of file bmstrsparsevec.h.
|
protected |
| Enumerator | |
|---|---|
| n_rows | |
Definition at line 310 of file bmstrsparsevec.h.
| bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::const_iterator | ( | ) |
Construct iterator (not attached to any particular vector).
Definition at line 2646 of file bmstrsparsevec.h.
References BMNOEXCEPT, and bm::id_max.
Referenced by const_iterator(), const_iterator(), operator!=(), operator++(), operator++(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
| bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::const_iterator | ( | const str_sparse_vector_type * | sv | ) |
Construct iterator (attached to sparse vector).
| sv | - pointer to sparse vector |
Definition at line 2666 of file bmstrsparsevec.h.
References BMNOEXCEPT, bm::id_max, n_rows, and str_sparse_vector.
| bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::const_iterator | ( | const str_sparse_vector_type * | sv, |
| size_type | pos ) |
Construct iterator (attached to sparse vector) and positioned.
| sv | - reference to sparse vector |
| pos | - position in the vector to start |
References BMNOEXCEPT, const_iterator(), and pos().
| bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::const_iterator | ( | const const_iterator & | it | ) |
References BMNOEXCEPT, and const_iterator().
| void bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::advance | ( | ) |
advance iterator forward by one
Definition at line 2782 of file bmstrsparsevec.h.
References BMNOEXCEPT, bm::id_max, invalidate(), and n_rows.
Referenced by operator++(), and operator++().
| str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::string_view_type bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::get_string_view | ( | ) | const |
Get current string as string_view.
Definition at line 2742 of file bmstrsparsevec.h.
References BM_ASSERT, bm::id_max, bm::base_sparse_vector< CharType, BV, STR_SIZE >::is_null(), n_rows, and valid().
| void bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::go_to | ( | size_type | pos | ) |
re-position to a specified position
Definition at line 2770 of file bmstrsparsevec.h.
References BMNOEXCEPT, bm::id_max, and pos().
|
inline |
Invalidate current iterator.
Definition at line 298 of file bmstrsparsevec.h.
References BMNOEXCEPT, and bm::id_max.
Referenced by advance().
|
inline |
|
inline |
Definition at line 261 of file bmstrsparsevec.h.
References BMNOEXCEPT, const_iterator(), and operator==().
|
inline |
|
inline |
Advance to the next available value.
Definition at line 277 of file bmstrsparsevec.h.
References advance(), BMNOEXCEPT, and const_iterator().
|
inline |
Advance to the next available value.
Definition at line 281 of file bmstrsparsevec.h.
References advance(), BMNOEXCEPT, and const_iterator().
|
inline |
Definition at line 263 of file bmstrsparsevec.h.
References BMNOEXCEPT, and const_iterator().
|
inline |
Definition at line 265 of file bmstrsparsevec.h.
References BMNOEXCEPT, and const_iterator().
|
inline |
Definition at line 259 of file bmstrsparsevec.h.
References BMNOEXCEPT, and const_iterator().
Referenced by operator!=().
|
inline |
Definition at line 267 of file bmstrsparsevec.h.
References BMNOEXCEPT, and const_iterator().
|
inline |
Definition at line 269 of file bmstrsparsevec.h.
References BMNOEXCEPT, and const_iterator().
|
inline |
Current position (index) in the vector.
Definition at line 301 of file bmstrsparsevec.h.
References BMNOEXCEPT.
Referenced by const_iterator(), and go_to().
| void bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::set_substr | ( | unsigned | from, |
| unsigned | len = 0 ) |
setup iterator to retrieve a sub-string of a string
| from | - Position of the first character to be copied |
| len | - length of a substring (defult: 0 read to the available end) |
Definition at line 2691 of file bmstrsparsevec.h.
References BMNOEXCEPT, bm::str_sparse_vector< CharType, BV, STR_SIZE >::max_str(), and n_rows.
|
inline |
Returns true if iterator is at a valid position.
Definition at line 295 of file bmstrsparsevec.h.
References BMNOEXCEPT, and bm::id_max.
Referenced by bm::str_sparse_vector< CharType, BV, STR_SIZE >::calc_octet_stat(), get_string_view(), and value().
| const str_sparse_vector< CharType, BV, STR_SIZE >::value_type * bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::value | ( | ) | const |
Get zero terminated string value at the current position.
Definition at line 2715 of file bmstrsparsevec.h.
References BM_ASSERT, bm::id_max, bm::base_sparse_vector< CharType, BV, STR_SIZE >::is_null(), n_rows, and valid().
Referenced by operator*().
|
friend |
Definition at line 216 of file bmstrsparsevec.h.
References str_sparse_vector.
Referenced by const_iterator(), and str_sparse_vector.