|
FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
A set of vectors may be layout in many ways. More...
Classes | |
| class | Fiber::HyperslabParameters |
| A set of integer values which describes how to iterate over a certain set of values. More... | |
| class | Fiber::ElementIterator< T > |
| An iterator which allows to access each component element type of an array of vectors, or a vector of arrays. More... | |
| class | Fiber::IteratorBase< T > |
| Intermediate base class for generic iterators. More... | |
| class | Fiber::Iterator< T > |
| Implementation of an Iterator to a sequence of elements, which might be contiguous or a projection of a component from an array of vectors. More... | |
| class | Fiber::ElementProxy< Iterator > |
| A proxy for Iterators, such that an Iterator's element looks like an Iterator's element (!), even though it isn't (the internal storage layout may be different). More... | |
| class | Fiber::Iterator< Eagle::FixedArray< T, C > > |
| Implementation of the Separated Compound field type that may virtually merge many separate arrays as one. More... | |
Functions | |
| template<class VectorType > | |
| Iterator< typename FixedArrayTrait< typename Eagle::MetaInfo< VectorType >::element_t, Eagle::MetaInfo< VectorType >::MULTIPLICITY >::array_t > | Fiber::farray_iterator (const Iterator< VectorType > &V) |
| Convert an iterator to a contiguous array of vectors into an iterator over elements which are FixedArrays. | |
A set of vectors may be layout in many ways.
The most efficient one is the array of vectors, because then access to each array element can be vectorized. However, the alternative layout to use a vector of arrays also has its merits. The Iterator class provides means to support both layouts at the same time. It also provides a component projection, i.e. to treat a component of a vector array as its own array (e.g. a double array).
|
inline |
Convert an iterator to a contiguous array of vectors into an iterator over elements which are FixedArrays.
This is only possible if the VectorType is a homogeneous type for which a MetaInfo<> type trait exists.
References Fiber::HyperslabParameters::count(), Fiber::HyperslabParameters::getLength(), Fiber::ElementIterator< T >::ptr(), and Fiber::HyperslabParameters::setCount().
Referenced by Fiber::Iterator< T >::getArrayIterator().