memory_based_step_iterator Class Template Reference
[step iteratorsModels]

#include <step_iterator.hpp>

Inheritance diagram for memory_based_step_iterator:

step_iterator_adaptor

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:

Generated on Sat May 2 13:50:18 2009 for Generic Image Library by  doxygen 1.5.6