cloudy trunk
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
container_classes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

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, 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 lgBOUNDSCHECKVAL   false
 
#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

void do_dump_state (const void *buf, size_t nelem, size_t size, FILE *out, int32 magic)
 
void do_restore_state (void *buf, size_t nelem, size_t size, FILE *in, int32 magic)
 
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

◆ INSTANTIATE_MULTI_ARR

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

Definition at line 1845 of file container_classes.h.

◆ lgBOUNDSCHECKVAL

#define lgBOUNDSCHECKVAL   false

Definition at line 29 of file container_classes.h.

◆ MEM_LAYOUT_VAL

#define MEM_LAYOUT_VAL   ARPA_TYPE

Definition at line 23 of file container_classes.h.

Typedef Documentation

◆ fabci

typedef flex_arr<bool>::const_iterator fabci

Definition at line 2157 of file container_classes.h.

◆ fabi

typedef flex_arr<bool>::iterator fabi

Definition at line 2156 of file container_classes.h.

◆ fadci

typedef flex_arr<double>::const_iterator fadci

Definition at line 2163 of file container_classes.h.

◆ fadi

typedef flex_arr<double>::iterator fadi

Definition at line 2162 of file container_classes.h.

◆ falci

typedef flex_arr<long>::const_iterator falci

Definition at line 2159 of file container_classes.h.

◆ fali

typedef flex_arr<long>::iterator fali

Definition at line 2158 of file container_classes.h.

◆ farci

typedef flex_arr<realnum>::const_iterator farci

Definition at line 2161 of file container_classes.h.

◆ fari

typedef flex_arr<realnum>::iterator fari

Definition at line 2160 of file container_classes.h.

◆ mb2ci

typedef multi_arr<bool,2>::const_iterator mb2ci

Definition at line 1801 of file container_classes.h.

◆ mb2i

typedef multi_arr<bool,2>::iterator mb2i

Definition at line 1800 of file container_classes.h.

◆ mb3ci

typedef multi_arr<bool,3>::const_iterator mb3ci

Definition at line 1803 of file container_classes.h.

◆ mb3i

typedef multi_arr<bool,3>::iterator mb3i

Definition at line 1802 of file container_classes.h.

◆ mb4ci

typedef multi_arr<bool,4>::const_iterator mb4ci

Definition at line 1805 of file container_classes.h.

◆ mb4i

typedef multi_arr<bool,4>::iterator mb4i

Definition at line 1804 of file container_classes.h.

◆ mb5ci

typedef multi_arr<bool,5>::const_iterator mb5ci

Definition at line 1807 of file container_classes.h.

◆ mb5i

typedef multi_arr<bool,5>::iterator mb5i

Definition at line 1806 of file container_classes.h.

◆ mb6ci

typedef multi_arr<bool,6>::const_iterator mb6ci

Definition at line 1809 of file container_classes.h.

◆ mb6i

typedef multi_arr<bool,6>::iterator mb6i

Definition at line 1808 of file container_classes.h.

◆ md2ci

typedef multi_arr<double,2>::const_iterator md2ci

Definition at line 1834 of file container_classes.h.

◆ md2i

typedef multi_arr<double,2>::iterator md2i

Definition at line 1833 of file container_classes.h.

◆ md3ci

typedef multi_arr<double,3>::const_iterator md3ci

Definition at line 1836 of file container_classes.h.

◆ md3i

typedef multi_arr<double,3>::iterator md3i

Definition at line 1835 of file container_classes.h.

◆ md4ci

typedef multi_arr<double,4>::const_iterator md4ci

Definition at line 1838 of file container_classes.h.

◆ md4i

typedef multi_arr<double,4>::iterator md4i

Definition at line 1837 of file container_classes.h.

◆ md5ci

typedef multi_arr<double,5>::const_iterator md5ci

Definition at line 1840 of file container_classes.h.

◆ md5i

typedef multi_arr<double,5>::iterator md5i

Definition at line 1839 of file container_classes.h.

◆ md6ci

typedef multi_arr<double,6>::const_iterator md6ci

Definition at line 1842 of file container_classes.h.

◆ md6i

typedef multi_arr<double,6>::iterator md6i

Definition at line 1841 of file container_classes.h.

◆ ml2ci

typedef multi_arr<long,2>::const_iterator ml2ci

Definition at line 1812 of file container_classes.h.

◆ ml2i

typedef multi_arr<long,2>::iterator ml2i

Definition at line 1811 of file container_classes.h.

◆ ml3ci

typedef multi_arr<long,3>::const_iterator ml3ci

Definition at line 1814 of file container_classes.h.

◆ ml3i

typedef multi_arr<long,3>::iterator ml3i

Definition at line 1813 of file container_classes.h.

◆ ml4ci

typedef multi_arr<long,4>::const_iterator ml4ci

Definition at line 1816 of file container_classes.h.

◆ ml4i

typedef multi_arr<long,4>::iterator ml4i

Definition at line 1815 of file container_classes.h.

◆ ml5ci

typedef multi_arr<long,5>::const_iterator ml5ci

Definition at line 1818 of file container_classes.h.

◆ ml5i

typedef multi_arr<long,5>::iterator ml5i

Definition at line 1817 of file container_classes.h.

◆ ml6ci

typedef multi_arr<long,6>::const_iterator ml6ci

Definition at line 1820 of file container_classes.h.

◆ ml6i

typedef multi_arr<long,6>::iterator ml6i

Definition at line 1819 of file container_classes.h.

◆ mr2ci

typedef multi_arr<realnum,2>::const_iterator mr2ci

Definition at line 1823 of file container_classes.h.

◆ mr2i

typedef multi_arr<realnum,2>::iterator mr2i

Definition at line 1822 of file container_classes.h.

◆ mr3ci

typedef multi_arr<realnum,3>::const_iterator mr3ci

Definition at line 1825 of file container_classes.h.

◆ mr3i

typedef multi_arr<realnum,3>::iterator mr3i

Definition at line 1824 of file container_classes.h.

◆ mr4ci

typedef multi_arr<realnum,4>::const_iterator mr4ci

Definition at line 1827 of file container_classes.h.

◆ mr4i

typedef multi_arr<realnum,4>::iterator mr4i

Definition at line 1826 of file container_classes.h.

◆ mr5ci

typedef multi_arr<realnum,5>::const_iterator mr5ci

Definition at line 1829 of file container_classes.h.

◆ mr5i

typedef multi_arr<realnum,5>::iterator mr5i

Definition at line 1828 of file container_classes.h.

◆ mr6ci

typedef multi_arr<realnum,6>::const_iterator mr6ci

Definition at line 1831 of file container_classes.h.

◆ mr6i

typedef multi_arr<realnum,6>::iterator mr6i

Definition at line 1830 of file container_classes.h.

Enumeration Type Documentation

◆ mem_layout

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 

Definition at line 15 of file container_classes.h.

Function Documentation

◆ do_dump_state()

void do_dump_state ( const void *  buf,
size_t  nelem,
size_t  size,
FILE *  out,
int32  magic 
)

dump the array to a file in binary format; the file must already have been opened prior to calling this method

Definition at line 25 of file container_classes.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, and ioQQQ.

Referenced by multi_arr< T, d, ALLOC, lgBC >::dump_state(), and flex_arr< T, lgBC >::dump_state().

◆ do_restore_state()

void do_restore_state ( void *  buf,
size_t  nelem,
size_t  size,
FILE *  in,
int32  magic 
)

restore the array from a file in binary format; the file must already have been opened prior to calling this method and the array must already have been allocated in exactly the same way as when it was dumped; some checks are performed, but not every error is excluded

Definition at line 45 of file container_classes.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, and ioQQQ.

Referenced by multi_arr< T, d, ALLOC, lgBC >::restore_state(), and flex_arr< T, lgBC >::restore_state().

◆ operator+() [1/2]

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

Definition at line 208 of file container_classes.h.

◆ operator+() [2/2]

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

Definition at line 161 of file container_classes.h.

Variable Documentation

◆ MA_VERS

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