|
|
| ForwardFieldIterator (const FieldType *field, cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, uint_t xs, uint_t ys, uint_t zs, uint_t fs) |
|
| ForwardFieldIterator () |
|
|
ForwardFieldIterator & | operator++ () |
| Pre-increment operator. More...
|
|
ForwardFieldIterator & | operator-- () |
| Pre-decrement operator. More...
|
|
|
void | incrOuter () |
| Increments the second inner coordinate c2 Use if innermost loop is self written, which is slightly faster. More...
|
|
void | incrInner () |
|
bool | testInner () const |
|
| FieldIterator (const FieldIterator< T, fieldFSize > &other) |
|
FieldIterator< T, fieldFSize > & | operator= (const FieldIterator< T, fieldFSize > &other) |
| Assignment operator. More...
|
|
bool | operator== (const FieldIterator &it) const |
| Equal operator. More...
|
|
bool | operator!= (const FieldIterator &it) const |
| Unequal operator. More...
|
|
| operator const FieldIterator< const T, fieldFSize > & () const |
|
T & | operator* () const |
|
T * | operator-> () const |
|
T & | getF (cell_idx_t cf) const |
| For beginXYZ iterators, one often needs a specific f Assumes that iterator stands at f==0. More...
|
|
T & | getF (uint_t cf) const |
| Equivalent to neighbor(cell_idx_t) see above. More...
|
|
T & | operator[] (cell_idx_t cf) const |
|
T & | operator[] (uint_t cf) const |
|
T & | neighbor (stencil::Direction d, cell_idx_t cf=0) const |
| Neighbor access relative to current position. More...
|
|
T & | neighbor (stencil::Direction d, uint_t cf) const |
| uint_t variant of above function More...
|
|
T & | neighbor (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz, cell_idx_t cf=0) const |
| Neighbor access relative to current position. More...
|
|
T & | neighbor (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz, uint_t cf) const |
| Neighbor variant that takes unsigned int as f parameter, needed since the stencil toIdx() is an unsigned int. More...
|
|
cell_idx_t | x () const |
| In order to get x(), y(), z(), f() function as fast a possible, no if clause for the layout was introduced. More...
|
|
cell_idx_t | y () const |
|
cell_idx_t | z () const |
|
cell_idx_t | f () const |
|
Cell | cell () const |
|
void | print (std::ostream &str) const |
|
const FieldType * | getField () const |
|
|
static const uint_t | F_SIZE = fieldFSize |
|
| FieldIterator () |
| Constructs an end iterator, which is represented by NULL pointers. More...
|
|
| FieldIterator (const FieldType *f, cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, uint_t xSize, uint_t ySize, uint_t zSize, uint_t fSize, bool forward) |
|
void | incrementLine () |
| Increments the slower 3 coordinates, if innermost coordinate is at end. More...
|
|
void | decrementLine () |
| Decrements the slower 3 coordinates, if innermost coordinate is at beginning. More...
|
|
void | initCoordinateAccessOptimizationPointers () |
| Initializes pointers required for the optimized x(),y(),z(),f() functions See documentation of fastestCoord_, curX_, curY_, curZ_ and curF_. More...
|
|
T * | lineBegin_ |
| Points to begin of fastest coordinate line. More...
|
|
T * | linePtr_ |
| Point to current element. More...
|
|
T * | lineEnd_ |
| Points to end of current line. More...
|
|
cell_idx_t | cur_ [3] |
| In the following vectors [0] is the slowest and [3] the fastest coordinate Current values of the coordinates, forth coordinate implicitly stored in linePtr_ and if needed written to fastestCoord_. More...
|
|
uint_t | skips_ [4] |
| Number of elements to skip when coordinate wraps around. More...
|
|
uint_t | sizes_ [4] |
| Size of each coordinate. More...
|
|
const FieldType * | f_ |
| Field where iterator belongs to. More...
|
|
cell_idx_t | xBegin_ |
| Following offset values are only used in functions x(),y(),z(),f() More...
|
|
cell_idx_t | yBegin_ |
|
cell_idx_t | zBegin_ |
|
cell_idx_t | fBegin_ |
|
cell_idx_t | fastestCoord_ |
|
cell_idx_t * | curX_ |
|
cell_idx_t * | curY_ |
|
cell_idx_t * | curZ_ |
|
cell_idx_t * | curF_ |
|