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

IVSFAB< T > Class Template Reference

#include <IVSFAB.H>

Collaboration diagram for IVSFAB< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 IVSFAB ()
 IVSFAB (const IntVectSet &a_region, const int &a_nvarin)
 ~IVSFAB ()
void define (const IntVectSet &a_region, const int &a_nvarin)
void setVal (const T &value)
void copy (const Box &a_fromBox, const Interval &a_destInterval, const Box &a_toBox, const IVSFAB< T > &a_src, const Interval &a_srcInterval)
int size (const Box &R, const Interval &comps) const
void linearOut (void *buf, const Box &R, const Interval &comps) const
void linearIn (void *buf, const Box &R, const Interval &comps)
void clear ()
bool isDefined () const
int numIvs () const
int nComp () const
const IntVectSetgetIVS () const
T & operator() (const IntVect &a_iv, const int &varlocin)
const T & operator() (const IntVect &a_iv, const int &varlocin) const
const T * dataPtr (const int &a_comp) const
T * dataPtr (const int &a_comp)
 IVSFAB (const Box &a_region, int a_nVar)
 invalid but necessary for leveldata to compile

const int * loVect () const
const int * hiVect () const

Static Public Methods

int preAllocatable ()
void setVerbose (bool a_verbose)

Protected Methods

int getIndex (const IntVect &a_iv, const int &a_comp) const

Protected Attributes

T * m_dataPtr
int m_nComp
int m_nIvs
IntVect m_loVect
IntVect m_hiVect
BaseFab< int > m_ivmap
IntVectSet m_ivs
bool m_isDefined

Static Protected Attributes

bool s_verbose = false

Detailed Description

template<class T>
class IVSFAB< T >

IVSFAB is a templated data holder defined at the Ivs of an irregular domain.


Constructor & Destructor Documentation

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

Default constructor. Constructs an uninitialized IVFAB. You must subsequently call {\bf define} before using this IVFAB.

template<class T>
IVSFAB< T >::IVSFAB const IntVectSet   a_region,
const int &    a_nvarin
[inline]
 

template<class T>
IVSFAB< T >::~IVSFAB   [inline]
 

template<class T>
IVSFAB< T >::IVSFAB const Box   a_region,
int    a_nVar
[inline]
 

invalid but necessary for leveldata to compile


Member Function Documentation

template<class T>
void IVSFAB< T >::clear   [inline]
 

Remove all data from this IVSFAB. You must call {\bf define} again in order to use it.

template<class T>
void IVSFAB< T >::copy const Box   a_fromBox,
const Interval   a_destInterval,
const Box   a_toBox,
const IVSFAB< T > &    a_src,
const Interval   a_srcInterval
[inline]
 

template<class T>
T * IVSFAB< T >::dataPtr const int &    a_comp [inline]
 

Return a pointer to the internal data storage of this IVFAB.

template<class T>
const T * IVSFAB< T >::dataPtr const int &    a_comp const [inline]
 

Return a const pointer to the internal data storage of this IVFAB. \

template<class T>
void IVSFAB< T >::define const IntVectSet   a_region,
const int &    a_nvarin
[inline]
 

template<class T>
int IVSFAB< T >::getIndex const IntVect   a_iv,
const int &    a_comp
const [inline, protected]
 

template<class T>
const IntVectSet & IVSFAB< T >::getIVS   const [inline]
 

Return the irregular domain of the IVSFAB.

template<class T>
const int * IVSFAB< T >::hiVect   const [inline]
 

Return a fake "upper right corner of the domain" for use with Fortran.

template<class T>
bool IVSFAB< T >::isDefined   const [inline]
 

Tells whether this IVSFAB has been defined, either with a constructor or with {\bf define}. It must be initialized in order to access its data.

template<class T>
void IVSFAB< T >::linearIn void *    buf,
const Box   R,
const Interval   comps
[inline]
 

template<class T>
void IVSFAB< T >::linearOut void *    buf,
const Box   R,
const Interval   comps
const [inline]
 

template<class T>
const int * IVSFAB< T >::loVect   const [inline]
 

Return a fake "lower left corner of the domain" for use with Fortran.

template<class T>
int IVSFAB< T >::nComp   const [inline]
 

Return the number of data components of this IVSFAB.

template<class T>
int IVSFAB< T >::numIvs   const [inline]
 

Return the number of Ivs in this IVSFAB.

template<class T>
const T & IVSFAB< T >::operator() const IntVect   a_iv,
const int &    varlocin
const [inline]
 

template<class T>
T & IVSFAB< T >::operator() const IntVect   a_iv,
const int &    varlocin
[inline]
 

Indexing operator. Return a reference to the contents of this IVFAB, at the specified Iv and data component. The first component is zero, the last is {nvar-1}. The returned object is a modifiable lvalue.

template<class T>
int IVSFAB< T >::preAllocatable   [inline, static]
 

This stuff required by LevelData in parallel:

template<class T>
void IVSFAB< T >::setVal const T &    value [inline]
 

Set a value at every data location.

template<class T>
void IVSFAB< T >::setVerbose bool    a_verbose [static]
 

template<class T>
int IVSFAB< T >::size const Box   R,
const Interval   comps
const [inline]
 


Member Data Documentation

template<class T>
T* IVSFAB< T >::m_dataPtr [protected]
 

template<class T>
IntVect IVSFAB< T >::m_hiVect [protected]
 

template<class T>
bool IVSFAB< T >::m_isDefined [protected]
 

template<class T>
BaseFab<int> IVSFAB< T >::m_ivmap [protected]
 

template<class T>
IntVectSet IVSFAB< T >::m_ivs [protected]
 

template<class T>
IntVect IVSFAB< T >::m_loVect [protected]
 

template<class T>
int IVSFAB< T >::m_nComp [protected]
 

template<class T>
int IVSFAB< T >::m_nIvs [protected]
 

template<class T>
bool IVSFAB< T >::s_verbose = false [static, protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Jan 19 17:56:07 2005 for Chombo&INSwithParticles by doxygen1.2.16