[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

| Multi-dimensional Array Iterators |

General iterators for arrays of arbitrary dimension. More...

## Classes

class | CoupledHandle< T, NEXT >
struct | CoupledIteratorType< N, T1, T2, T3, T4, T5 >
class | CoupledScanOrderIterator< N, HANDLES, DIMENSION >
| Iterate over multiple images simultaneously in scan order. More...
class | MultiArrayShape< N >
class | MultiIterator< N, T, REFERENCE, POINTER >
| A multi-dimensional hierarchical iterator to be used with vigra::MultiArrayView if it is not strided. More...
class | StridedMultiIterator< N, T, REFERENCE, POINTER >
| A multi-dimensional hierarchical iterator to be used with vigra::MultiArrayView if it is not strided. More...
class | StridedScanOrderIterator< N, T, REFERENCE, POINTER, M >
| Sequential iterator for MultiArrayView. More...

## Typedefs

typedef std::ptrdiff_t | MultiArrayIndex
typedef MultiArrayShape< 1 >::type | Shape1
| shape type for MultiArray<1, T>
typedef MultiArrayShape< 2 >::type | Shape2
| shape type for MultiArray<2, T>
typedef MultiArrayShape< 3 >::type | Shape3
| shape type for MultiArray<3, T>
typedef MultiArrayShape< 4 >::type | Shape4
| shape type for MultiArray<4, T>
typedef MultiArrayShape< 5 >::type | Shape5
| shape type for MultiArray<5, T>

## Functions

template<int N>
CoupledIteratorType< N >::type | createCoupledIterator (TinyVector< MultiArrayIndex, N > const &shape)
template<unsigned int N1, class T1 , class S1 >
CoupledIteratorType< N1, T1 >::type | createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 >
CoupledIteratorType< N1, T1, T2 >::type | createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 >
CoupledIteratorType< N1, T1, T2, T3 >::type | createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 , unsigned int N4, class T4 , class S4 >
CoupledIteratorType< N1, T1, T2, T3, T4 >::type | createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3, MultiArrayView< N4, T4, S4 > const &m4)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 , unsigned int N4, class T4 , class S4 , unsigned int N5, class T5 , class S5 >
CoupledIteratorType< N1, T1, T2, T3, T4, T5 >::type | createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3, MultiArrayView< N4, T4, S4 > const &m4, MultiArrayView< N5, T5, S5 > const &m5)
template<unsigned int TARGET_INDEX, class Handle >
CoupledHandleCast < TARGET_INDEX, Handle > ::type::reference | get (Handle &handle)
template<unsigned int TARGET_INDEX, class Handle >
CoupledHandleCast < TARGET_INDEX, Handle > ::type::const_reference | get (Handle const &handle)

## Detailed Description

General iterators for arrays of arbitrary dimension.

## Typedef Documentation

typedef std::ptrdiff_t MultiArrayIndex

Index type for a single dimension of a MultiArrayView or MultiArray.

## Function Documentation

CoupledHandleCast<TARGET_INDEX, Handle>::type::reference vigra::get | ( | Handle & | handle | ) |

Returns reference to the element in the band of the handle with index TARGET_INDEX.

CoupledHandleCast<TARGET_INDEX, Handle>::type::const_reference vigra::get | ( | Handle const & | handle | ) |

Returns a constant reference to the element in the band of the handle with index TARGET_INDEX.

CoupledIteratorType<N>::type vigra::createCoupledIterator | ( | TinyVector< MultiArrayIndex, N > const & | shape | ) |

Returns a CoupledScanOrderIterator from shape to iterate over coordinates.

CoupledIteratorType<N1, T1>::type vigra::createCoupledIterator | ( | MultiArrayView< N1, T1, S1 > const & | m1 | ) |

Returns a CoupledScanOrderIterator to simultaneously iterate over image m1 and its coordinates.

CoupledIteratorType<N1, T1, T2>::type vigra::createCoupledIterator | ( | MultiArrayView< N1, T1, S1 > const & | m1,
|  | MultiArrayView< N2, T2, S2 > const & | m2
| ) |  |

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3>::type vigra::createCoupledIterator | ( | MultiArrayView< N1, T1, S1 > const & | m1,
|  | MultiArrayView< N2, T2, S2 > const & | m2,
|  | MultiArrayView< N3, T3, S3 > const & | m3
| ) |  |

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3, T4>::type vigra::createCoupledIterator | ( | MultiArrayView< N1, T1, S1 > const & | m1,
|  | MultiArrayView< N2, T2, S2 > const & | m2,
|  | MultiArrayView< N3, T3, S3 > const & | m3,
|  | MultiArrayView< N4, T4, S4 > const & | m4
| ) |  |

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3, m4 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3, T4, T5>::type vigra::createCoupledIterator | ( | MultiArrayView< N1, T1, S1 > const & | m1,
|  | MultiArrayView< N2, T2, S2 > const & | m2,
|  | MultiArrayView< N3, T3, S3 > const & | m3,
|  | MultiArrayView< N4, T4, S4 > const & | m4,
|  | MultiArrayView< N5, T5, S5 > const & | m5
| ) |  |

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3, m4, m5 and their coordinates.

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.9.0 (Tue Nov 6 2012)