cloudy trunk
Loading...
Searching...
No Matches
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

◆ MEM_LAYOUT_VAL

#define MEM_LAYOUT_VAL   ARPA_TYPE

Definition at line 23 of file container_classes.h.

Typedef Documentation

◆ fabci

Definition at line 2157 of file container_classes.h.

◆ fabi

Definition at line 2156 of file container_classes.h.

◆ 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

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

Definition at line 2161 of file container_classes.h.

◆ fari

Definition at line 2160 of file container_classes.h.

◆ mb2ci

Definition at line 1801 of file container_classes.h.

◆ mb2i

Definition at line 1800 of file container_classes.h.

◆ mb3ci

Definition at line 1803 of file container_classes.h.

◆ mb3i

Definition at line 1802 of file container_classes.h.

◆ mb4ci

Definition at line 1805 of file container_classes.h.

◆ mb4i

Definition at line 1804 of file container_classes.h.

◆ mb5ci

Definition at line 1807 of file container_classes.h.

◆ mb5i

Definition at line 1806 of file container_classes.h.

◆ mb6ci

Definition at line 1809 of file container_classes.h.

◆ 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

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

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

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

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

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

Definition at line 1823 of file container_classes.h.

◆ mr2i

Definition at line 1822 of file container_classes.h.

◆ mr3ci

Definition at line 1825 of file container_classes.h.

◆ mr3i

Definition at line 1824 of file container_classes.h.

◆ mr4ci

Definition at line 1827 of file container_classes.h.

◆ mr4i

Definition at line 1826 of file container_classes.h.

◆ mr5ci

Definition at line 1829 of file container_classes.h.

◆ mr5i

Definition at line 1828 of file container_classes.h.

◆ mr6ci

Definition at line 1831 of file container_classes.h.

◆ 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 iterator< bool, 2 >::dump_state(), and iterator< bool >::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 iterator< bool, 2 >::restore_state(), and iterator< bool >::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