Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class 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 Member Functions

 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< ForceBox >, BoxLayoutData< FluxBox >, BoxLayoutData< FArrayBox >, LevelData< ForceBox >, 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 Oct 5 14:01:11 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1