position_iterator Struct Template Reference |
Public Types | |
typedef iterator_facade< position_iterator< Deref, Dim >, typename Deref::value_type, random_access_traversal_tag, typename Deref::reference, typename Deref::argument_type::template axis< Dim >::coord_t > | parent_t |
typedef parent_t::difference_type | difference_type |
typedef parent_t::reference | reference |
typedef Deref::argument_type | point_t |
Public Member Functions | |
position_iterator (const point_t &p, const point_t &step, const Deref &d) | |
position_iterator (const position_iterator &p) | |
template<typename D> | |
position_iterator (const position_iterator< D, Dim > &p) | |
position_iterator & | operator= (const position_iterator &p) |
const point_t & | pos () const |
const point_t & | step () const |
const Deref & | deref_fn () const |
void | set_step (difference_type s) |
reference | operator[] (difference_type d) const |
Friends | |
struct | position_iterator |
class | boost::iterator_core_access |
|
For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits |