Proto
3.2
|
Distributed Data Iterator. More...
#include <Proto_DataIndex.H>
Public Member Functions | |
DataIterator (std::shared_ptr< P > a_partition) | |
Manual Constructor. More... | |
DataIterator< P > & | begin () |
Set To Start. More... | |
DataIterator< P > & | end () |
Set To End. More... | |
bool | ok () const |
Continue Query. More... | |
unsigned int | localSize () const |
Size. More... | |
DataIterator< P > & | operator++ () |
Increment. More... | |
bool | operator== (const DataIterator< P > &a_rhs) const |
Equality. More... | |
bool | operator== (const DataIndex< P > &a_rhs) const |
Equality. More... | |
bool | operator!= (const DataIterator< P > &a_rhs) const |
Inquality. More... | |
bool | operator!= (const DataIndex< P > &a_rhs) const |
Inquality. More... | |
const DataIndex< P > | operator[] (unsigned int a_index) const |
Integer Dereference (code is in implem file) More... | |
const DataIndex< P > & | operator* () const |
Dereference. More... | |
bool | compatible (const P &a_partition) const |
bool | compatible (const DataIndex< P > &a_index) const |
bool | compatible (const DataIterator< P > &a_iter) const |
Protected Attributes | |
std::shared_ptr< P > | m_partition |
DataIndex< P > | m_current |
DataIndex< P > | m_end |
Distributed Data Iterator.
Iterate through the local contents of a data layout specified by the template class P. Unlike normal iterators, DataIterator
dereferences into a DataIndex
which can be used to index into various data holders that are specifically designed to work in tandem with it.
Supported objects: DisjointBoxLayout (P = BoxPartition) LevelBoxData (P = BoxPartition)
Proto objects are specifically designed to use STL-like iteration syntax which makes the specific implementation of DataIterator (and it's template argument) invisible to the end user. See the code below for sample usage:
|
inline |
Manual Constructor.
Construct a DataIterator from an existing DisjointBoxLayout. This constructor is mostly used internally. Users can rely on the STL style iteration syntax of container objects (e.g. LevelBoxData or DisjointBoxLayout)
Referenced by Proto::DataIterator< P >::operator++().
|
inline |
Set To Start.
Modifies the *this and returns it
Referenced by Proto::CoarseFineBoundary< P >::CoarseFineBoundary().
|
inline |
Set To End.
modifies *this and returns it
Referenced by Proto::CoarseFineBoundary< P >::CoarseFineBoundary().
|
inline |
Continue Query.
Shortcut to check if *this has reached its end.
|
inline |
Size.
Number of iterates on this processor
|
inline |
Increment.
References Proto::DataIterator< P >::DataIterator().
|
inline |
Equality.
|
inline |
Equality.
References Proto::DataIterator< P >::m_current.
|
inline |
Inquality.
References Proto::DataIterator< P >::m_current.
|
inline |
Inquality.
References Proto::DataIterator< P >::m_current.
|
inline |
Integer Dereference (code is in implem file)
|
inline |
Dereference.
Unlike normal iterators, dereferencing a DataIterator returns a DataIndex. DataIndex is accepted by all "level scope" data holders (e.g. LevelBoxData or DisjointBoxLayout).
|
inline |
|
inline |
References Proto::DataIterator< P >::m_current.
|
inline |
|
protected |
|
protected |
|
protected |