36#ifndef VIGRA_MULTI_FWD_HXX
37#define VIGRA_MULTI_FWD_HXX
40#include "metaprogramming.hxx"
41#include "tinyvector.hxx"
62template <
unsigned int N>
88struct ResolveMultiband;
91struct ResolveChunkedMemory;
114template <
class T,
class NEXT>
117template <
unsigned int N,
class T>
118class SharedChunkHandle;
126template <
unsigned int N,
class T,
class C = Str
idedArrayTag>
129template <
unsigned int N,
class T,
130 class A = std::allocator<typename detail::ResolveMultiband<T>::type> >
133template <
unsigned int N,
class T>
134class ChunkedArrayBase;
136template <
unsigned int N,
class T>
147template <
unsigned int N,
class T,
class REFERENCE = T &,
class POINTER = T *>
152template <
unsigned int N,
class T,
class REFERENCE = T &,
class POINTER = T *>
153class StridedMultiIterator;
156template<
unsigned int N>
157class MultiCoordinateIterator;
160template <
unsigned int N,
class V,
class REFERENCE,
class POINTER>
161class StridedScanOrderIterator;
164template <
unsigned int N,
165 class HANDLES=CoupledHandle<TinyVector<MultiArrayIndex, N>,
void>,
167class CoupledScanOrderIterator;
171template<
unsigned int N,
class T>
198template<
unsigned int N,
bool BackEdgesOnly=false>
199class GridGraphNeighborIterator;
201template<
unsigned int N,
bool BackEdgesOnly=false>
202class GridGraphEdgeIterator;
204template<
unsigned int N,
bool BackEdgesOnly=false>
205class GridGraphOutEdgeIterator;
207template<
unsigned int N,
bool BackEdgesOnly=false>
208class GridGraphArcIterator;
210template<
unsigned int N,
bool BackEdgesOnly=false>
211class GridGraphOutArcIterator;
213template<
unsigned int N,
bool BackEdgesOnly=false>
214class GridGraphInArcIterator;
216template<
unsigned int N,
class DirectedTag>
Definition: multi_shape.hxx:267
MultiArrayInitializationTag
Initialize a MultiArray in a standard way.
Definition: multi_fwd.hxx:104
@ LinearSequence
Initialize array by a linear sequence in scan order.
Definition: multi_fwd.hxx:105
NeighborhoodType
Choose the neighborhood system in a dimension-independent way.
Definition: multi_fwd.hxx:186
@ IndirectNeighborhood
use direct and indirect neighbors
Definition: multi_fwd.hxx:188
@ DirectNeighborhood
use only direct neighbors
Definition: multi_fwd.hxx:187
std::ptrdiff_t MultiArrayIndex
Definition: multi_fwd.hxx:60