Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

LayoutData< T > Class Template Reference

Data that maintains a one-to-one mapping to the boxes in a BoxLayout. More...

#include <LayoutData.H>

Inheritance diagram for LayoutData< T >:

Inheritance graph
[legend]
Collaboration diagram for LayoutData< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 LayoutData ()
 LayoutData (const BoxLayout &dp)
virtual ~LayoutData ()
virtual void define (const BoxLayout &dp)
DataIterator dataIterator () const
const T & operator[] (const DataIndex &index) const
T & operator[] (const DataIndex &index)
Box box (const DataIndex &index) const
const BoxLayoutboxLayout () const

Protected Attributes

BoxLayout m_boxLayout
Vector< T * > m_vector

Private Methods

LayoutData< T > & operator= (const LayoutData< T > &rhs)
 LayoutData (const LayoutData &rhs)
void allocate ()

Friends

class ArrayViewData

Detailed Description

template<class T>
class LayoutData< T >

Data that maintains a one-to-one mapping 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. (In fact, you are pretty much forced to by the

Data in a LayoutData CANNOT be communicated to other processors using the API presented here.

class T must provide the following methods: \begin{verbatim} { T() } \end{verbatim}

This class is useful for processor-local data that needs to be indexable along with a BoxLayoutData. Auxillary data objects, etc.


Constructor & Destructor Documentation

template<class T>
LayoutData< T >::LayoutData   [inline]
 

template<class T>
LayoutData< T >::LayoutData const BoxLayout   dp [inline]
 

constructor. allocates a T object for every box in the BoxLayout dp using the T null constructor. dp must be closed.

template<class T>
LayoutData< T >::~LayoutData   [inline, virtual]
 

template<class T>
LayoutData< T >::LayoutData const LayoutData< T > &    rhs [private]
 


Member Function Documentation

template<class T>
void LayoutData< T >::allocate   [inline, private]
 

template<class T>
Box LayoutData< T >::box const DataIndex   index const [inline]
 

template<class T>
const BoxLayout& LayoutData< T >::boxLayout   const [inline]
 

template<class T>
DataIterator LayoutData< T >::dataIterator   const [inline]
 

template<class T>
void LayoutData< T >::define const BoxLayout   dp [inline, virtual]
 

constructor. allocates a T object for every box in the BoxLayout dp using the T null constructor. dp must be closed. previously stored T objects are removed

Reimplemented in BoxLayoutData< T >, LevelData< T >, BoxLayoutData< EBGraph >, BoxLayoutData< EBCellFAB >, BoxLayoutData< FArrayBox >, BoxLayoutData< EBData >, LevelData< EBGraph >, LevelData< EBCellFAB >, LevelData< FArrayBox >, and LevelData< EBData >.

template<class T>
LayoutData<T>& LayoutData< T >::operator= const LayoutData< T > &    rhs [private]
 

template<class T>
T & LayoutData< T >::operator[] const DataIndex   index [inline]
 

template<class T>
const T & LayoutData< T >::operator[] const DataIndex   index const [inline]
 


Friends And Related Function Documentation

template<class T>
friend class ArrayViewData [friend]
 


Member Data Documentation

template<class T>
BoxLayout LayoutData< T >::m_boxLayout [protected]
 

template<class T>
Vector<T*> LayoutData< T >::m_vector [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Apr 16 14:35:23 2003 for EBChombo by doxygen1.2.16