An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Models PixelIteratorConcept. Used to create virtual image views. Models: StepIteratorConcept, PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept. More...
#include <position_iterator.hpp>
Inherits iterator_facade< position_iterator< Deref, Dim >, Deref::value_type, std::random_access_iterator_tag, Deref::reference, Deref::argument_type::template axis< Dim >::coord_t >.
Public Types | |
using | parent_t = iterator_facade< position_iterator< Deref, Dim >, typename Deref::value_type, std::random_access_iterator_tag, typename Deref::reference, typename Deref::argument_type::template axis< Dim >::coord_t > |
using | difference_type = typename parent_t::difference_type |
using | reference = typename parent_t::reference |
using | point_t = typename Deref::argument_type |
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 | |
template<typename DE , int DI> | |
struct | position_iterator |
class | boost::iterator_core_access |
An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Models PixelIteratorConcept. Used to create virtual image views. Models: StepIteratorConcept, PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept.
|
inline |
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