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 Member Functions

 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 Member Functions

int preAllocatable ()
void setVerbose (bool a_verbose)

Protected Member Functions

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 { 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 { 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 { 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 Jun 2 13:58:40 2004 for Chombo&INSwithParticles by doxygen 1.3.2