LayoutData< T > Class Template Reference

#include <LayoutData.H>

Inheritance diagram for LayoutData< T >:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T>
class LayoutData< T >

Data that maintains a one-to-one mapping of T 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 in LevelData.

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.

Public Member Functions

 LayoutData ()
 LayoutData (const BoxLayout &a_dp)
virtual ~LayoutData ()
virtual void define (const BoxLayout &a_dp)
DataIterator dataIterator () const
TimedDataIterator timedDataIterator () 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

Private Member Functions

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


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.

References LayoutData< T >::allocate(), CH_assert, BoxLayout::isClosed(), and LayoutData< T >::m_callDelete.

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

template<class T>
LayoutData< T >::LayoutData ( const LayoutData< T > &  a_rhs  )  [private]


Member Function Documentation

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

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

template<class T>
TimedDataIterator LayoutData< T >::timedDataIterator (  )  const [inline]

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

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>
T & LayoutData< T >::operator[] ( const DataIndex a_index  )  [inline]

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

non-const accessor function

template<class T>
Box LayoutData< T >::box ( const DataIndex a_index  )  const [inline]

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

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

template<class T>
LayoutData<T>& LayoutData< T >::operator= ( const LayoutData< T > &  a_rhs  )  [private]

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


Member Data Documentation

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

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

template<class T>
bool LayoutData< T >::m_callDelete [protected]


The documentation for this class was generated from the following files:

Generated on Thu Jul 27 03:43:04 2017 for Chombo + EB by  doxygen 1.5.5