Generic Image Library: memory_based_step_iterator Class Template Reference

Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page # memory_based_step_iterator Class Template Reference [step iterators, Models] `#include <step_iterator.hpp>` Inheritance diagram for memory_based_step_iterator: List of all members. ## Detailed Description ### template<typename Iterator> class boost::gil::memory_based_step_iterator< Iterator > Iterator with dynamically specified step in memory units (bytes or bits). Models StepIteratorConcept, IteratorAdaptorConcept, MemoryBasedIteratorConcept, PixelIteratorConcept, HasDynamicXStepTypeConcept. MEMORY-BASED STEP ITERATOR 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
## 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
## Public Member Functions
| 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
void | set_step (std::ptrdiff_t memunit_step)
x_iterator & | base ()
x_iterator const & | base () const
## Member Function Documentation
reference operator[] | ( | difference_type | d | ) | const`[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 The documentation for this class was generated from the following file: step_iterator.hpp