|
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 |
1.8.13