|
mdds
|
#include <iterator.hpp>
Classes | |
| struct | grouped_iterator_type |
Public Member Functions | |
| bool | operator== (const iterator_updater &other) const |
| bool | operator!= (const iterator_updater &other) const |
| iterator_updater & | operator= (const iterator_updater &other) |
| void | swap (iterator_updater &other) |
| const node & | get_node () const |
| const grouped_iterator_type & | get_pos () const |
| const grouped_iterator_type & | get_end () const |
Protected Types | |
| using | parent_type = typename _Trait::parent |
| using | positions_type = typename _Trait::positions_type |
| using | sizes_type = typename _Trait::sizes_type |
| using | element_blocks_type = typename _Trait::element_blocks_type |
| using | size_type = typename _Trait::parent::size_type |
| using | node = mdds::detail::mtv::iterator_value_node< size_type > |
| using | positions_iterator_type = typename _Trait::positions_iterator_type |
| using | sizes_iterator_type = typename _Trait::sizes_iterator_type |
| using | element_blocks_iterator_type = typename _Trait::element_blocks_iterator_type |
Protected Member Functions | |
| iterator_updater (const grouped_iterator_type &pos, const grouped_iterator_type &end, size_type block_index) | |
| iterator_updater (const positions_iterator_type &positions_pos, const sizes_iterator_type &sizes_pos, const element_blocks_iterator_type &eb_pos, const positions_iterator_type &positions_end, const sizes_iterator_type &sizes_end, const element_blocks_iterator_type &eb_end, size_type block_index) | |
| iterator_updater (const iterator_updater &other) | |
| void | update_node () |
| node * | inc () |
| node * | dec () |
| void | _print_state (std::ostream &os) const |
Protected Attributes | |
| node | m_cur_node |
| grouped_iterator_type | m_pos |
| grouped_iterator_type | m_end |
Common base for both const and non-const iterators to handle traversal of the internal source 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.
The trait struct needs to have the following static member types:
parent positions_type sizes_type element_blocks_type