mdds
Loading...
Searching...
No Matches
mdds::mtv::soa::detail::iterator_base< Traits > Class Template Reference
Inheritance diagram for mdds::mtv::soa::detail::iterator_base< Traits >:
mdds::mtv::soa::detail::iterator_updater< Traits >

Public Types

using value_type = typename updater::node
using pointer = value_type*
using reference = value_type&
using difference_type = ptrdiff_t
using iterator_category = std::bidirectional_iterator_tag

Public Member Functions

 iterator_base (const grouped_iterator_type &pos, const grouped_iterator_type &end, const parent_type *parent, size_type block_index)
value_type & operator* ()
const value_type & operator* () const
value_type * operator-> ()
const value_type * operator-> () const
iterator_base & operator++ ()
iterator_base & operator-- ()
void _print_state (std::ostream &os) const
const grouped_iterator_type & get_end () const
const grouped_iterator_type & get_pos () const
Public Member Functions inherited from mdds::mtv::soa::detail::iterator_updater< Traits >
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_typeget_pos () const
const grouped_iterator_typeget_end () const

Additional Inherited Members

Protected Types inherited from mdds::mtv::soa::detail::iterator_updater< Traits >
using parent_type = typename Traits::parent
using positions_type = typename Traits::positions_type
using sizes_type = typename Traits::sizes_type
using element_blocks_type = typename Traits::element_blocks_type
using size_type = typename Traits::parent::size_type
using node = mdds::detail::mtv::iterator_value_node<parent_type, size_type>
using positions_iterator_type = typename Traits::positions_iterator_type
using sizes_iterator_type = typename Traits::sizes_iterator_type
using element_blocks_iterator_type = typename Traits::element_blocks_iterator_type
Protected Member Functions inherited from mdds::mtv::soa::detail::iterator_updater< Traits >
 iterator_updater (const grouped_iterator_type &pos, const grouped_iterator_type &end, const parent_type *parent, 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, const parent_type *parent, 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 inherited from mdds::mtv::soa::detail::iterator_updater< Traits >
node m_cur_node
grouped_iterator_type m_pos
grouped_iterator_type m_end