[ VIGRA Homepage | Class Index | Function Index | File Index | Main Page ]
![]() |
MultiIterator Class Template Reference | ![]() |
---|
A multi-dimensional hierarchical iterator to be used with vigra::MultiArrayView if it is not strided. More...
#include "vigra/multi_iterator.hxx"
Public Types | |
typedef MultiIteratorBase< N >::template type< T, REFERENCE, POINTER > | base_type |
typedef T | value_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef ptrdiff_t | difference_type |
typedef TinyVector< difference_type, N > | multi_difference_type |
typedef base_type::next_type | next_type |
typedef multi_dimensional_traverser_tag | iterator_category |
Public Methods | |
MultiIterator () | |
MultiIterator (pointer ptr, const difference_type *stride, const difference_type *shape) | |
MultiIterator | operator+ (difference_type n) const |
MultiIterator | operator+ (multi_difference_type const &d) const |
MultiIterator | operator- (difference_type n) const |
MultiIterator | operator- (multi_difference_type const &d) const |
template<unsigned int K> MultiIterator< K+1, T, REFERENCE, POINTER > & | dim () |
Detailed Description |
This class wraps the MultiIteratorBase in a template of arity two.
#include "vigra/multi_iterator.hxx"
Namespace: vigra
|
the type of the parent in the inheritance hierarchy. Reimplemented in type. |
|
const pointer type |
|
const reference type (result of operator[] const) |
|
difference type (used for offsetting) Reimplemented in type. |
|
the iterator tag (image traverser) Reimplemented in type. |
|
multi difference type (used for offsetting along all axes simultaneously) Reimplemented in type. |
|
the MultiIterator for the next lower dimension. Reimplemented in type. |
|
pointer type Reimplemented in type. |
|
reference type (result of operator[]) Reimplemented in type. |
|
the iterator's value type Reimplemented in type. |
|
default constructor. |
|
construct from pointer, strides (offset of a sample to the next) for every dimension, and the shape. |
|
Return the multi-iterator that operates on dimension K in order to manipulate this dimension directly. Usage:
MultiIterator<3, int> i3 = ...; i3.dim<2>()++; // increment outer dimension i3.dim<0>()++; // increment inner dimension |
|
addition along all dimensions |
|
addition within current dimension |
|
subtraction along all dimensions |
|
subtraction within current dimension |
© Ullrich Köthe (koethe@informatik.uni-hamburg.de) |
html generated using doxygen and Python
|