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 &a_dp)
virtual ~LayoutData ()
virtual void define (const BoxLayout &a_dp)
DataIterator dataIterator () const
const T & operator[] (const DataIndex &a_index) const
 const accessor function

const T & operator[] (const DataIterator &a_iterator) const
 const accessor function

T & operator[] (const DataIndex &a_index)
 non-const accessor function

T & operator[] (const DataIterator &a_iterator)
 non-const accessor function

Box box (const DataIndex &a_index) const
Box box (const DataIterator &a_iterator) const
const BoxLayoutboxLayout () const

Protected Attributes

BoxLayout m_boxLayout
Vector< T * > m_vector
bool m_callDelete

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.

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

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.


Constructor & Destructor Documentation

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

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

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

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


Member Function Documentation

template<class T>
Box LayoutData< T >::box const DataIterator   a_iterator const [inline]
 

template<class T>
Box LayoutData< T >::box const DataIndex   a_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   a_dp [inline, virtual]
 

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 >, LevelData< T >, BoxLayoutData< FluxBox >, BoxLayoutData< FArrayBox >, LevelData< FluxBox >, and LevelData< FArrayBox >.

template<class T>
T & LayoutData< T >::operator[] const DataIterator   a_iterator [inline]
 

non-const accessor function

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

non-const accessor function

template<class T>
const T & LayoutData< T >::operator[] const DataIterator   a_iterator const [inline]
 

const accessor function

Returns member for which DataIterator is currently indexed to. Equivalent to layout[a_iterator()]

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

const accessor function


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>
bool LayoutData< T >::m_callDelete [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 Jan 19 17:56:08 2005 for Chombo&INSwithParticles by doxygen1.2.16