MEMORY-BASED STEP ITERATOR. More...
#include <step_iterator.hpp>
Public Types | |
typedef detail::step_iterator_adaptor < memory_based_step_iterator < Iterator >, Iterator, memunit_step_fn< Iterator > > | parent_t |
typedef parent_t::reference | reference |
typedef parent_t::difference_type | difference_type |
typedef Iterator | x_iterator |
typedef std::iterator_traits < Iterator >::difference_type | base_difference_type |
Public Member Functions | |
memory_based_step_iterator () | |
memory_based_step_iterator (Iterator it, std::ptrdiff_t memunit_step) | |
template<typename I2 > | |
memory_based_step_iterator (const memory_based_step_iterator< I2 > &it) | |
reference | operator[] (difference_type d) const |
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. More... | |
void | set_step (std::ptrdiff_t memunit_step) |
x_iterator & | base () |
x_iterator const & | base () const |
difference_type | step () const |
Protected Attributes | |
memunit_step_fn< Iterator > | _step_fn |
MEMORY-BASED STEP ITERATOR.
Iterator with dynamically specified step in memory units (bytes or bits). Models StepIteratorConcept, IteratorAdaptorConcept, MemoryBasedIteratorConcept, PixelIteratorConcept, HasDynamicXStepTypeConcept
A refinement of step_iterator_adaptor that uses a dynamic parameter for the step which is specified in memory units, such as bytes or bits
Pixel step iterators are used to provide iteration over non-adjacent pixels. Common use is a vertical traversal, where the step is the row stride.
Another application is as a sub-channel view. For example, a red intensity image over interleaved RGB data would use a step iterator adaptor with step sizeof(channel_t)*3 In the latter example the step size could be fixed at compile time for efficiency. Compile-time fixed step can be implemented by providing a step function object that takes the step as a template
|
inherited |
typedef parent_t::difference_type boost::gil::memory_based_step_iterator< Iterator >::difference_type |
typedef detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>, Iterator, memunit_step_fn<Iterator> > boost::gil::memory_based_step_iterator< Iterator >::parent_t |
typedef parent_t::reference boost::gil::memory_based_step_iterator< Iterator >::reference |
typedef Iterator boost::gil::memory_based_step_iterator< Iterator >::x_iterator |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
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.
|
inline |
|
inlineinherited |
References boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::_step_fn.
Referenced by boost::gil::memunit_advanced(), and boost::gil::memunit_step().
|
protectedinherited |