|
Public Member Functions |
| BoxLayoutData () |
virtual | ~BoxLayoutData () |
| BoxLayoutData (const BoxLayout &boxes, int comps, const DataFactory< T > &factory=DefaultDataFactory< T >()) |
virtual void | define (const BoxLayout &boxes, int comps, const DataFactory< T > &factory=DefaultDataFactory< T >()) |
virtual void | define (const BoxLayoutData< T > &da, const DataFactory< T > &factory=DefaultDataFactory< T >()) |
virtual void | define (const BoxLayoutData< T > &da, const Interval &comps, const DataFactory< T > &factory=DefaultDataFactory< T >()) |
virtual void | define (const BoxLayout &boxes) |
| overridden and throws an error.
|
int | nComp () const |
Interval | interval () const |
void | generalCopyTo (const BoxLayout &a_destGrids, LayoutData< Vector< RefCountedPtr< T > > > &a_dest, const Interval &a_interval, const ProblemDomain &a_domain, const DataFactory< T > &factory=DefaultDataFactory< T >()) const |
| General data copying operation.
|
virtual void | apply (void(*a_Function)(const Box &box, int comps, T &t)) |
virtual bool | isDefined () const |
Protected Member Functions |
void | setVector (const BoxLayoutData< T > &da, const Interval &srcComps, const Interval &destComps) |
void | allocateGhostVector (const DataFactory< T > &factory, const IntVect &ghost=IntVect::Zero) |
void | makeItSo (const Interval &a_srcComps, const BoxLayoutData< T > &a_src, BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op=LDOperator< T >()) const |
void | completePendingSends () const |
void | allocateBuffers (const BoxLayoutData< T > &a_src, const Interval &a_srcComps, const BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op) const |
void | writeSendDataFromMeIntoBuffers (const BoxLayoutData< T > &a_src, const Interval &a_srcComps, const LDOperator< T > &a_op) const |
void | postSendsFromMe () const |
void | postReceivesToMe () const |
void | unpackReceivesToMe (BoxLayoutData< T > &a_dest, const Interval &a_destComps, const LDOperator< T > &a_op) const |
void | unpackReceivesToMe_append (LayoutData< Vector< RefCountedPtr< T > > > &a_dest, const Interval &a_destComps, int ncomp, const DataFactory< T > &factory, const LDOperator< T > &a_op) const |
Protected Attributes |
int | m_comps |
bool | m_isdefined |
|
void * | m_sendbuffer |
size_t | m_sendcapacity |
void * | m_recbuffer |
size_t | m_reccapacity |
Friends |
class | LevelData<T> |
A collection of Box-oriented objects. The arrangement of Boxes is given by the underlying BoxLayout object. BoxLayoutData attempt to prevent users from maniupulating the template class T to become out of synch with the boxes in the BoxLayout. Caveat emptor.
All access to the data in a BoxLayoutData is forced to be data-parallel, by use of the DataIterator.
In sequential codes, many of these functions will not be called, but in the general parallel case, they all will be.