#include <BoxLayoutData.H>
Inheritance diagram for BoxLayoutData< 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.
class T must provide the following methods:
T()
T(const Box& box, int comps)
define(const Box& box, int comps)
void copy(const Box& R, const Interval& Cd, const T& source, const Interval Cs)
Cs and Cd must have same length, but can be displaced
static int preAllocatable()
returns 0 if the size(...) function is strictly a function of Box and
Interval, and does not depend on the current state of the T object.
return 1 if size(..) is symmetric, in that sender and receiver T object
can size their message buffers, but a static object cannot.
returns 2 if the object is truly dynamic. the message size is subject to
unique object data. int size(const Box& R, const Interval& comps)
void linearOut(void* buf, const Box& R, const Interval& comps)
void linearIn(void* buf, const Box& R, const Interval& comps)
In sequential codes, many of these functions will not be called, but in the general parallel case, they all will be.
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 |
| 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::TheZeroVector()) |
Protected Attributes | |
| int | m_comps |
| bool | m_isdefined |
Friends | |
| class | LevelData< T > |
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
Reimplemented in LevelData< T >, LevelData< NodeFArrayBox >, and LevelData< FArrayBox >.
|
|
||||||||||||||||
|
Reimplemented in LevelData< T >, LevelData< NodeFArrayBox >, and LevelData< FArrayBox >.
|
|
||||||||||||||||||||
|
Define this BoxLayoutData to be the subset of the data in da defined by the Interval comps. Reimplemented in LevelData< T >, LevelData< NodeFArrayBox >, and LevelData< FArrayBox >.
|
|
||||||||||
|
overridden and throws an error.
Reimplemented from LayoutData< T >.
Reimplemented in LevelData< T >, LevelData< NodeFArrayBox >, and LevelData< FArrayBox >.
|
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||
|
Reimplemented in LevelData< T >, LevelData< NodeFArrayBox >, and LevelData< FArrayBox >.
|
|
|||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
1.3.8