#include <multi_type_vector_itr.hpp>
Public Member Functions | |
bool | operator== (const iterator_common_base &other) const |
bool | operator!= (const iterator_common_base &other) const |
iterator_common_base & | operator= (const iterator_common_base &other) |
void | swap (iterator_common_base &other) |
const node & | get_node () const |
const base_iterator_type & | get_pos () const |
const base_iterator_type & | get_end () const |
Protected Types | |
typedef _Trait::parent | parent_type |
typedef _Trait::blocks | blocks_type |
typedef _Trait::base_iterator | base_iterator_type |
typedef parent_type::size_type | size_type |
typedef iterator_value_node < size_type, typename parent_type::element_block_type > | node |
Protected Member Functions | |
iterator_common_base (const base_iterator_type &pos, const base_iterator_type &end, size_type start_pos, size_type block_index) | |
iterator_common_base (const iterator_common_base &other) | |
void | update_node () |
node * | inc () |
node * | dec () |
Protected Attributes | |
node | m_cur_node |
base_iterator_type | m_pos |
base_iterator_type | m_end |
Common base for both const and non-const iterators. Its protected inc() and dec() methods have non-const return type, and the derived classes wrap them and return values with their respective const modifiers.