10 #ifndef Proto_LEVELITERATORS_H_ 11 #define Proto_LEVELITERATORS_H_ 14 #include "Proto_DataIndex.H" 15 #include "Proto_DisjointBoxLayout.H" 62 inline const DataIndex& end()
const{
return m_end;};
63 inline bool ok()
const {
return (m_current != m_end);}
71 inline Box srcBox()
const;
73 inline Box destBox()
const;
91 FineFRIterator(
const DataIndex& a_fineIndex,
92 const Point& a_refRatio);
98 inline void operator++();
100 inline DataIndex operator*{
return m_fineIndex;};
103 inline Point operator();
109 inline Point srcShift();
112 pair<int,int> m_currentRegister;
116 class CoarseFRIterator
120 CoarseFRIterator(
const& a_DisjointBoxLayout m_fineDBL,
122 const Point& a_refRatio);
133 DisjointBoxlayout m_fine;
134 pair<LoHiSide,int> m_currentRegisterSet;
140 #include "implem/Proto_LevelIteratorsImplem.H" Definition: Proto_LevelIterators.H:41
const DataIndex & operator*() const
Dereference operator returns the DataIndex corresponding to the current iterate.
Definition: Proto_LevelIterators.H:67
Iterator for Boxes.
Definition: Proto_Box.H:863
Definition: Proto_LevelIterators.H:19
Disjoint Box Layout.
Definition: Proto_DisjointBoxLayout.H:37
An interval in DIM dimensional space.
Definition: Proto_Box.H:26
int procID()
local process ID
Definition: Proto_SPMD.H:52
Point point() const
Returns the Point corresponding to the Box for that index. Undefined if invalid.
Definition: Proto_LevelIterators.H:149
const DataIndex & operator*() const
Dereference returns a DataIndex.
Definition: Proto_LevelIterators.H:131
Definition: Proto_Box.H:11
Integer Valued Vector.
Definition: Proto_Point.H:21
Definition: Proto_DataIndex.H:17
Box box() const
Returns the Box corresponding to that index. Undefined if invalid.
Definition: Proto_LevelIterators.H:138
int procID(const DataIndex &a_index) const
Get Process ID.
Definition: Proto_DisjointBoxLayout.H:121
Represents a rectangular domain over which a problem can be defined, including periodic images...
Definition: Proto_ProblemDomain.H:22