Chombo + EB + MF
3.2
|
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout. More...
#include <BoxLayout.H>
Inherited by BoxLayoutData< T >.
Public Member Functions | |
LayoutData () | |
LayoutData (const BoxLayout &a_dp) | |
virtual | ~LayoutData () |
virtual void | define (const BoxLayout &a_dp) |
DataIterator | dataIterator () const |
TimedDataIterator | timedDataIterator () const |
const T & | operator[] (const DataIndex &a_index) const |
const accessor function More... | |
const T & | operator[] (const DataIterator &a_iterator) const |
const accessor function More... | |
T & | operator[] (const DataIndex &a_index) |
non-const accessor function More... | |
T & | operator[] (const DataIterator &a_iterator) |
non-const accessor function More... | |
Box | box (const DataIndex &a_index) const |
Box | box (const DataIterator &a_iterator) const |
const BoxLayout & | boxLayout () const |
Protected Attributes | |
BoxLayout | m_boxLayout |
Vector< T * > | m_vector |
bool | m_callDelete |
Private Member Functions | |
LayoutData< T > & | operator= (const LayoutData< T > &a_rhs) |
LayoutData (const LayoutData &a_rhs) | |
void | allocate () |
Friends | |
class | BoxLayout |
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout.
A collection of Box-oriented objects. The arrangement of the T objects is given by the underlying BoxLayout object. LayoutData does not attempt to prevent users from manipulating the template class T to become out of synch with the boxes in the BoxLayout. Caveat emptor.
Non-local (off-processor access) to a LayoutData index is an error. You can assure that access to the data stored in a LayoutData is local to your processor by using the DataIterator object for indexing.
Data in a LayoutData CANNOT be communicated to other processors using the API presented in LevelData.
class T must provide the following methods:
{ T() }
This class is useful for processor-local data that needs to be indexable along with a BoxLayoutData. Auxillary data objects, etc.
|
inline |
|
inline |
constructor. allocates a T object for every box in the BoxLayout a_dp using the T null constructor. a_dp must be closed.
|
inlinevirtual |
|
private |
|
inlinevirtual |
constructor. allocates a T object for every box in the BoxLayout a_dp using the T null constructor. a_dp must be closed. previously stored T objects are removed
Reimplemented in BoxLayoutData< T >, BoxLayoutData< EBGraph >, BoxLayoutData< NodeFArrayBox >, BoxLayoutData< MFCellFAB >, BoxLayoutData< CodimBox< FArrayBox > >, BoxLayoutData< FluxBox >, BoxLayoutData< BaseFab< IntVect > >, BoxLayoutData< BaseIVFAB< Real > >, BoxLayoutData< BaseFab< PetscInt > >, BoxLayoutData< BaseIFFAB< Real > >, BoxLayoutData< EBCellFAB >, BoxLayoutData< EdgeDataBox >, BoxLayoutData< BaseFab< bool > >, BoxLayoutData< FArrayBox >, BoxLayoutData< EBData >, BoxLayoutData< EBFluxFAB >, BoxLayoutData< BaseFab< int > >, LevelData< T >, LevelData< EBGraph >, LevelData< NodeFArrayBox >, LevelData< MFCellFAB >, LevelData< CodimBox< FArrayBox > >, LevelData< FluxBox >, LevelData< BaseFab< IntVect > >, LevelData< BaseIVFAB< Real > >, LevelData< BaseFab< PetscInt > >, LevelData< BaseIFFAB< Real > >, LevelData< EBCellFAB >, LevelData< EdgeDataBox >, LevelData< BaseFab< bool > >, LevelData< FArrayBox >, LevelData< EBData >, LevelData< EBFluxFAB >, and LevelData< BaseFab< int > >.
Referenced by BlockBaseRegister< FArrayBox >::buildRegisterLayout().
|
inline |
Referenced by LayoutData< Vector< IntVectSet > >::allocate(), BoxLayoutData< BaseFab< int > >::allocateGhostVector(), LevelData< BaseFab< int > >::apply(), BoxLayoutData< BaseFab< int > >::apply(), EBPoissonOp::applyOp(), LevelDataOps< FArrayBox >::axby(), blockWriteToBuffer(), LevelData< BaseFab< int > >::copyTo(), BlockBaseRegister< FArrayBox >::copyToDstRegister(), LevelData< BaseFab< int > >::define(), LevelData< BaseFab< int > >::degenerateLocalOnly(), BCFunction::fillGhostCells(), getOffsets(), LevelDataOps< FArrayBox >::incr(), EBLevelRedist::increment(), LevelData< BaseFab< int > >::localCopyTo(), LevelDataOps< FArrayBox >::mult(), LevelDataOps< FArrayBox >::plus(), BlockBaseRegister< FArrayBox >::print(), read(), regionGather(), LevelDataOps< FArrayBox >::scale(), LevelDataOps< FArrayBox >::setToZero(), LevelDataOps< FArrayBox >::setVal(), BoxLayoutData< BaseFab< int > >::setVector(), write(), WriteMultiData< T >::writeData(), zeroBoxLayoutData(), and LayoutData< Vector< IntVectSet > >::~LayoutData().
|
inline |
|
inline |
const accessor function
Referenced by LevelData< BaseFab< int > >::degenerateLocalOnly().
|
inline |
const accessor function
Returns member for which DataIterator is currently indexed to. Equivalent to layout[a_iterator()]
|
inline |
non-const accessor function
|
inline |
non-const accessor function
|
inline |
Referenced by BoxLayoutData< BaseFab< int > >::allocateGhostVector(), BoxLayoutData< BaseFab< int > >::apply(), blockWriteToBuffer(), LevelData< BaseFab< int > >::copyTo(), LevelData< BaseFab< int > >::localCopyTo(), read(), BoxLayoutData< BaseFab< int > >::setVector(), write(), and WriteMultiData< T >::writeData().
|
inline |
|
inline |
Referenced by BaseIFFactory< T >::BaseIFFactory(), BaseIVFactory< T >::BaseIVFactory(), blockLocalOffsets(), blockWrite(), blockWriteLevel(), LevelData< BaseFab< int > >::copyTo(), BoxLayoutData< BaseFab< int > >::define(), getOffsets(), IVSFABFactory< T >::IVSFABFactory(), read(), regionGather(), write(), and WriteMultiData< T >::writeData().
|
private |
|
inlineprivate |
|
friend |
|
protected |
Referenced by BoxLayoutData< BaseFab< int > >::addTo(), LayoutData< Vector< IntVectSet > >::boxLayout(), BoxLayoutData< BaseFab< int > >::BoxLayoutData(), LevelData< BaseFab< int > >::define(), LayoutData< Vector< IntVectSet > >::define(), BoxLayoutData< BaseFab< int > >::define(), BoxLayoutData< BaseFab< int > >::generalCopyTo(), and LevelData< BaseFab< int > >::LevelData().
|
protected |
Referenced by LayoutData< Vector< IntVectSet > >::allocate(), BoxLayoutData< BaseFab< int > >::allocateGhostVector(), LevelData< BaseFab< int > >::apply(), BoxLayoutData< BaseFab< int > >::apply(), BoxLayoutData< BaseFab< int > >::clear(), LevelData< BaseFab< int > >::define(), ArrayViewData::operator[](), ArrayViewData::set(), BoxLayoutData< BaseFab< int > >::setVector(), and LayoutData< Vector< IntVectSet > >::~LayoutData().
|
protected |