Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
container_classes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  basic_pntr< T, lgBC >
 
class  pntr< T, lgBC >
 pntr - interface class to replace normal pointers More...
 
class  const_pntr< T, lgBC >
 const_pntr - same as pntr, except that it replaces const pointers rather than normal pointers More...
 
struct  tree_vec
 tree_vec - a simple class to store the bounds checking information for multi_arr More...
 
class  multi_geom< d, ALLOC >
 
class  n_pointer< T, N, ALLOC, lgBC >
 
class  const_n_pointer< T, N, ALLOC, lgBC >
 
class  n_pointer< T, N, ARPA_TYPE, false >
 
class  n_pointer< T, N, C_TYPE, false >
 
class  n_pointer< T, 1, ARPA_TYPE, false >
 
class  n_pointer< T, 1, C_TYPE, false >
 
class  n_pointer< T, N, ARPA_TYPE, true >
 
class  n_pointer< T, N, C_TYPE, true >
 
class  n_pointer< T, 1, ARPA_TYPE, true >
 
class  n_pointer< T, 1, C_TYPE, true >
 
class  const_n_pointer< T, N, ARPA_TYPE, false >
 
class  const_n_pointer< T, N, C_TYPE, false >
 
class  const_n_pointer< T, 1, ARPA_TYPE, false >
 
class  const_n_pointer< T, 1, C_TYPE, false >
 
class  const_n_pointer< T, N, ARPA_TYPE, true >
 
class  const_n_pointer< T, N, C_TYPE, true >
 
class  const_n_pointer< T, 1, ARPA_TYPE, true >
 
class  const_n_pointer< T, 1, C_TYPE, true >
 
class  multi_arr< T, d, ALLOC, lgBC >
 
class  flex_arr< T, lgBC >
 

Macros

#define MEM_LAYOUT_VAL   ARPA_TYPE
 
#define INSTANTIATE_MULTI_ARR(TYPE, BC)
 

Typedefs

typedef multi_arr< bool, 2 >
::iterator 
mb2i
 
typedef multi_arr< bool, 2 >
::const_iterator 
mb2ci
 
typedef multi_arr< bool, 3 >
::iterator 
mb3i
 
typedef multi_arr< bool, 3 >
::const_iterator 
mb3ci
 
typedef multi_arr< bool, 4 >
::iterator 
mb4i
 
typedef multi_arr< bool, 4 >
::const_iterator 
mb4ci
 
typedef multi_arr< bool, 5 >
::iterator 
mb5i
 
typedef multi_arr< bool, 5 >
::const_iterator 
mb5ci
 
typedef multi_arr< bool, 6 >
::iterator 
mb6i
 
typedef multi_arr< bool, 6 >
::const_iterator 
mb6ci
 
typedef multi_arr< long, 2 >
::iterator 
ml2i
 
typedef multi_arr< long, 2 >
::const_iterator 
ml2ci
 
typedef multi_arr< long, 3 >
::iterator 
ml3i
 
typedef multi_arr< long, 3 >
::const_iterator 
ml3ci
 
typedef multi_arr< long, 4 >
::iterator 
ml4i
 
typedef multi_arr< long, 4 >
::const_iterator 
ml4ci
 
typedef multi_arr< long, 5 >
::iterator 
ml5i
 
typedef multi_arr< long, 5 >
::const_iterator 
ml5ci
 
typedef multi_arr< long, 6 >
::iterator 
ml6i
 
typedef multi_arr< long, 6 >
::const_iterator 
ml6ci
 
typedef multi_arr< realnum, 2 >
::iterator 
mr2i
 
typedef multi_arr< realnum, 2 >
::const_iterator 
mr2ci
 
typedef multi_arr< realnum, 3 >
::iterator 
mr3i
 
typedef multi_arr< realnum, 3 >
::const_iterator 
mr3ci
 
typedef multi_arr< realnum, 4 >
::iterator 
mr4i
 
typedef multi_arr< realnum, 4 >
::const_iterator 
mr4ci
 
typedef multi_arr< realnum, 5 >
::iterator 
mr5i
 
typedef multi_arr< realnum, 5 >
::const_iterator 
mr5ci
 
typedef multi_arr< realnum, 6 >
::iterator 
mr6i
 
typedef multi_arr< realnum, 6 >
::const_iterator 
mr6ci
 
typedef multi_arr< double, 2 >
::iterator 
md2i
 
typedef multi_arr< double, 2 >
::const_iterator 
md2ci
 
typedef multi_arr< double, 3 >
::iterator 
md3i
 
typedef multi_arr< double, 3 >
::const_iterator 
md3ci
 
typedef multi_arr< double, 4 >
::iterator 
md4i
 
typedef multi_arr< double, 4 >
::const_iterator 
md4ci
 
typedef multi_arr< double, 5 >
::iterator 
md5i
 
typedef multi_arr< double, 5 >
::const_iterator 
md5ci
 
typedef multi_arr< double, 6 >
::iterator 
md6i
 
typedef multi_arr< double, 6 >
::const_iterator 
md6ci
 
typedef flex_arr< bool >::iterator fabi
 
typedef flex_arr< bool >
::const_iterator 
fabci
 
typedef flex_arr< long >::iterator fali
 
typedef flex_arr< long >
::const_iterator 
falci
 
typedef flex_arr< realnum >
::iterator 
fari
 
typedef flex_arr< realnum >
::const_iterator 
farci
 
typedef flex_arr< double >
::iterator 
fadi
 
typedef flex_arr< double >
::const_iterator 
fadci
 

Enumerations

enum  mem_layout { ARPA_TYPE, C_TYPE, FLX_TYPE, ML_TOP }
 

Functions

template<class T , bool lgBC>
const pntr< T, lgBC > operator+ (const ptrdiff_t n, const pntr< T, lgBC > &t)
 
template<class T , bool lgBC>
const const_pntr< T, lgBC > operator+ (const ptrdiff_t n, const const_pntr< T, lgBC > &t)
 

Variables

static const int32 MA_VERS [ML_TOP] = { 120070905, 220070803, 320071126 }
 

Macro Definition Documentation

#define INSTANTIATE_MULTI_ARR (   TYPE,
  BC 
)
Value:
template class pntr<TYPE,BC>; \
template class const_pntr<TYPE,BC>;
pntr - interface class to replace normal pointers
Definition: container_classes.h:121
const_pntr - same as pntr, except that it replaces const pointers rather than normal pointers ...
Definition: container_classes.h:151
#define MEM_LAYOUT_VAL   ARPA_TYPE

Typedef Documentation

typedef flex_arr<bool>::const_iterator fabci
typedef flex_arr<bool>::iterator fabi
typedef flex_arr<double>::const_iterator fadci
typedef flex_arr<double>::iterator fadi
typedef flex_arr<long>::const_iterator falci
typedef flex_arr<long>::iterator fali
typedef flex_arr<realnum>::const_iterator farci
typedef flex_arr<realnum>::iterator fari
typedef multi_arr<bool,2>::const_iterator mb2ci
typedef multi_arr<bool,2>::iterator mb2i
typedef multi_arr<bool,3>::const_iterator mb3ci
typedef multi_arr<bool,3>::iterator mb3i
typedef multi_arr<bool,4>::const_iterator mb4ci
typedef multi_arr<bool,4>::iterator mb4i
typedef multi_arr<bool,5>::const_iterator mb5ci
typedef multi_arr<bool,5>::iterator mb5i
typedef multi_arr<bool,6>::const_iterator mb6ci
typedef multi_arr<bool,6>::iterator mb6i
typedef multi_arr<double,2>::const_iterator md2ci
typedef multi_arr<double,2>::iterator md2i
typedef multi_arr<double,3>::const_iterator md3ci
typedef multi_arr<double,3>::iterator md3i
typedef multi_arr<double,4>::const_iterator md4ci
typedef multi_arr<double,4>::iterator md4i
typedef multi_arr<double,5>::const_iterator md5ci
typedef multi_arr<double,5>::iterator md5i
typedef multi_arr<double,6>::const_iterator md6ci
typedef multi_arr<double,6>::iterator md6i
typedef multi_arr<long,2>::const_iterator ml2ci
typedef multi_arr<long,2>::iterator ml2i
typedef multi_arr<long,3>::const_iterator ml3ci
typedef multi_arr<long,3>::iterator ml3i
typedef multi_arr<long,4>::const_iterator ml4ci
typedef multi_arr<long,4>::iterator ml4i
typedef multi_arr<long,5>::const_iterator ml5ci
typedef multi_arr<long,5>::iterator ml5i
typedef multi_arr<long,6>::const_iterator ml6ci
typedef multi_arr<long,6>::iterator ml6i
typedef multi_arr<realnum,2>::const_iterator mr2ci
typedef multi_arr<realnum,2>::iterator mr2i
typedef multi_arr<realnum,3>::const_iterator mr3ci
typedef multi_arr<realnum,3>::iterator mr3i
typedef multi_arr<realnum,4>::const_iterator mr4ci
typedef multi_arr<realnum,4>::iterator mr4i
typedef multi_arr<realnum,5>::const_iterator mr5ci
typedef multi_arr<realnum,5>::iterator mr5i
typedef multi_arr<realnum,6>::const_iterator mr6ci
typedef multi_arr<realnum,6>::iterator mr6i

Enumeration Type Documentation

enum mem_layout

define the supported memory layouts of multi_arr / flex_arr

ARPA_TYPE: arrays of pointers to arrays to ... C_TYPE: row-major order, exactly as used in C (last index runs fastest) FLX_TYPE: the one and only layout used by flex_arr

Enumerator
ARPA_TYPE 
C_TYPE 
FLX_TYPE 
ML_TOP 

Function Documentation

template<class T , bool lgBC>
const pntr<T,lgBC> operator+ ( const ptrdiff_t  n,
const pntr< T, lgBC > &  t 
)
inline
template<class T , bool lgBC>
const const_pntr<T,lgBC> operator+ ( const ptrdiff_t  n,
const const_pntr< T, lgBC > &  t 
)
inline

Variable Documentation

const int32 MA_VERS[ML_TOP] = { 120070905, 220070803, 320071126 }
static