Pixel Iterators |
Modules | |
Dereference adaptors | |
Unary function objects that can be invoked upon dereferencing a pixel iterator/locator. | |
Planar Pointers | |
Implementations of pointers to planar pixels. | |
Iterator Traits | |
Traits for pixel iterators. | |
Byte-level operations | |
Byte-level operations on pixel iterators. | |
Classes | |
class | pixel_image_iterator |
Provides 1D random-access navigation to the pixels of the image. More... | |
class | dereference_iterator_adaptor |
An adaptor over an existing iterator that provides for custom filter on dereferencing the object. More... | |
struct | position_iterator |
An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Used to create virtual image views. Models: StepIteratorConcept, PixelIteratorConcept. More... | |
class | pixel_step_iterator |
Pixel iterator with dynamically specified step in bytes. More... | |
make_step_iterator | |
Constructs a step iterator from a base iterator and a step. To construct a step iterator from a given iterator Iterator and a given step, if Iterator does not already have a dynamic step, we wrap it in a pixel_step_iterator. Otherwise we do a compile-time traversal of the chain of iterator adaptors to locate the step iterator and then set it step to the new one.
The step iterator of Iterator is not always pixel_step_iterator<Iterator>. For example, Iterator may already be a pixel step iterator, in which case it will be inefficient to stack them; we can obtain the same result by multiplying their steps. Note that for Iterator to be a step iterator it does not necessarily have to have the form pixel_step_iterator<J>. The step iterator can be wrapped inside another iterator. Also, it may not have the type pixel_step_iterator, but it could be a user-provided type. We know that Iterator is a step iterator if iterator_is_step<Iterator>() is true. | |
template<typename I> | |
pixel_iterator_traits< I >::dynamic_step_t | make_step_iterator (const I &it, std::ptrdiff_t step) |
for dereference_iterator_adaptor, pixel_image_iterator, etc. | |
template<typename T, typename C> | |
pixel_step_iterator< pixel< T, C > * > | make_step_iterator (pixel< T, C > *it, std::ptrdiff_t step) |
template<typename T, typename C> | |
pixel_step_iterator< const pixel< T, C > * > | make_step_iterator (const pixel< T, C > *it, std::ptrdiff_t step) |
template<typename IC, typename C> | |
pixel_step_iterator< planar_ptr< IC, C > > | make_step_iterator (const planar_ptr< IC, C > &it, std::ptrdiff_t step) |
template<typename I> | |
pixel_iterator_traits< I >::dynamic_step_t | make_step_iterator (const pixel_step_iterator< I > &it, std::ptrdiff_t step) |
|
|
for planar_ptr<IC,C> |
|
for const pixel<T,C>* |
|
for pixel<T,C>* |