#include <FieldIterator.h>
Public Types | |
using | Parent = FieldIterator< T, fieldFSize > |
using | FieldType = Field< typename std::remove_const< T >::type, fieldFSize > |
![]() | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = T |
using | difference_type = std::ptrdiff_t |
using | pointer = T * |
using | reference = T & |
using | FieldType = Field< typename std::remove_const< T >::type, fieldFSize > |
Public Member Functions | |
Constructor/Destructor | |
ReverseFieldIterator (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) | |
ReverseFieldIterator () | |
Operators | |
ReverseFieldIterator & | operator++ () |
Pre-decrement operator. More... | |
ReverseFieldIterator & | operator-- () |
Pre-increment operator. More... | |
Fast Iteration | |
void | incrOuter () |
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 |
Additional Inherited Members | |
![]() | |
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_ |
using walberla::field::ReverseFieldIterator< T, fieldFSize >::FieldType = Field<typename std::remove_const<T>::type, fieldFSize> |
using walberla::field::ReverseFieldIterator< T, fieldFSize >::Parent = FieldIterator<T, fieldFSize> |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
Pre-decrement operator.
|
inline |
Pre-increment operator.
|
inline |