#include <container_classes.h>
multi_arr: generic class for allocating multidimensional arrays. A typical example of its use could be:
multi_arr<double,3> arr; // define a placeholder for the array the first argument is the type of data it holds the second argument is the number of dimensions (between 2 and 6)
arr.alloc(3,4,2); // this will allocate a 3x4x2 block of doubles memory will be allocated by new[] so will be initialized by the constructor, if present
multi_arr<double,3> arr(3,4,2); // shorthand for the above
The following is an alternative way of allocating the array. It is very similar to the pre-multi_arr way of allocating arrays. In ARPA_TYPE arrays this will help you save memory since only the data elements that are really needed will be allocated. In C_TYPE allocation, the smallest rectangular block will be allocated that can hold all the data. This will use more memory in return for somewhat improved CPU speed. Tests carried out in 2007 showed that the speed advantage of C_TYPE arrays was only 1 to 2 percent. Hence the memory savings were deemed more important and ARPA_TYPE arrays were made the default. However, C_TYPE arrays are guaranteed to be compatible with C code, so these should be used if they are meant to be passed on to C library routines. The example below allocates a triangular matrix.
arr.reserve(3); for( int i=0, i < 3; ++i ) { arr.reserve( i, i+1 ); // note that size does not need to be constant! for( int j=0, j < i+1; ++j ) arr.reserve( i, j, j+1 ); } arr.alloc();
these are plausible ways to use the multi_arr class:
arr.invalidate(); // this will set float or double arrays to all SNaN it will set any other type array to all 0xff bytes. arr.zero(); // this will set the array to all zero
arr[0][0][0] = 1.; arr[0][0][1] = 2.; double x = arr[0][0][0]*arr[0][0][1];
arr.state_do(io,lgRead); // this will write/read the array to/from a state file depending on the boolean flag lgRead; io should point to a file that is already opened for binary writing/reading the file will remain open after access. this allows you to use state_do() for several arrays in a row
multi_arr<double,2,C_TYPE> a(10,10); // allocate C_TYPE array C_library_routine( a.data(), ... ); // and call C library routine with it
arr.clear(); // this will deallocate the array the destructor will also automatically deallocate
the multi_arr class comes with iterators that allow you to speed up memory access even further. using iterators as shown below will generally speed up the code significantly since it avoids calculating the array index over and over inside the body of the loop. especially in tight loops over arrays with high dimension this can become a significant overhead! a const_iterator is also supplied for read-only access, but no reverse_iterators. you can define and initialize an iterator as follows
multi_arr<double,3>::iterator p = arr.begin(n,k);
the notation multi_arr<double,3>::iterator is rather cumbersome, so it may be convenient to define something like:
typedef multi_arr<double,3>::iterator md3i; typedef multi_arr<double,3>::const_iterator md3ci;
all the possible combinations for bool, long, realnum and double multi_arr's are predefined below.
this is a plausible way to use an iterator:
for( int k=0; i < 4; k++ ) { for( md3i p = arr.begin(n,k); p != arr.end(n,k); ++p ) p = 3.; }
however, since many compilers have a hard time figuring out that arr.end() has no side effects, it is better to do the following:
for( int k=0; i < 4; k++ ) { md3i end = arr.end(n,k); for( md3i p = arr.begin(n,k); p != end; ++p ) p = 3.; }
NB NB -- the memory layout may change in future editions, so user code should not make any assumptions about the layout. the only exception is that the user may safely assume that for the default memory layout the last index runs over contiguous memory. this allows for efficient iterator access. the example above was OK since arr[n][k][0] and arr[n][k][1] are guaranteed to be adjacent. however the next example is not OK:
!! WRONG !!, arr[n][k-1][1] and arr[n][k][0] may NOT be adjacent
md3i p = arr.begin(n,0); for( int k=0; i < 4; k++ ) for( int i=0; i < 2; i++ ) p++ = 3.; // ERROR, this may segfault. bounds checking will catch this (see below for enabling this)
you can also use iterators for array-like access via []:
double sum = 0.; for( int k=0; i < 4; k++ ) { md3ci p = arr.begin(n,k); for( int i=0; i < 2; i++ ) sum += p[i]; }
last, but not least, the multi_arr class supports array bounds checking, both for direct access through the indexing method, as well as iterator access. To enable bounds checking, simply define the preprocessor macro BOUNDS_CHECK during compilation. the resulting code will be MUCH slower, so this should only be used as a debugging tool.
Definition at line 941 of file container_classes.h.
typedef const_n_pointer<T,d-1,ALLOC,lgBC> multi_arr< T, d, ALLOC, lgBC >::const_indexed_type |
Definition at line 1401 of file container_classes.h.
typedef const_pntr<T,lgBC> multi_arr< T, d, ALLOC, lgBC >::const_iterator |
Definition at line 964 of file container_classes.h.
typedef const T* multi_arr< T, d, ALLOC, lgBC >::const_pointer |
Definition at line 960 of file container_classes.h.
typedef const T& multi_arr< T, d, ALLOC, lgBC >::const_reference |
Definition at line 958 of file container_classes.h.
typedef ptrdiff_t multi_arr< T, d, ALLOC, lgBC >::difference_type |
Definition at line 962 of file container_classes.h.
typedef n_pointer<T,d-1,ALLOC,lgBC> multi_arr< T, d, ALLOC, lgBC >::indexed_type |
Definition at line 1396 of file container_classes.h.
typedef pntr<T,lgBC> multi_arr< T, d, ALLOC, lgBC >::iterator |
Definition at line 963 of file container_classes.h.
typedef random_access_iterator_tag multi_arr< T, d, ALLOC, lgBC >::iterator_category |
Definition at line 955 of file container_classes.h.
typedef T* multi_arr< T, d, ALLOC, lgBC >::pointer |
Definition at line 959 of file container_classes.h.
typedef T& multi_arr< T, d, ALLOC, lgBC >::reference |
Definition at line 957 of file container_classes.h.
typedef size_t multi_arr< T, d, ALLOC, lgBC >::size_type |
Definition at line 961 of file container_classes.h.
typedef T multi_arr< T, d, ALLOC, lgBC >::value_type |
Definition at line 956 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | ) | [inline] |
Definition at line 989 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | const multi_geom< d, ALLOC > & | g | ) | [inline] |
Definition at line 993 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | size_type | d1, | |
size_type | d2 | |||
) | [inline] |
Definition at line 998 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3 | |||
) | [inline] |
Definition at line 1004 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4 | |||
) | [inline] |
Definition at line 1010 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4, | |||
size_type | d5 | |||
) | [inline] |
Definition at line 1016 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4, | |||
size_type | d5, | |||
size_type | d6 | |||
) | [inline] |
Definition at line 1022 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::multi_arr | ( | const multi_arr< T, d, ALLOC, lgBC > & | m | ) | [inline] |
Definition at line 1028 of file container_classes.h.
multi_arr< T, d, ALLOC, lgBC >::~multi_arr | ( | ) | [inline] |
Definition at line 1033 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | index[] | ) | [inline] |
Definition at line 1202 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4, | |||
size_type | d5, | |||
size_type | d6 | |||
) | [inline] |
Definition at line 1197 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4, | |||
size_type | d5 | |||
) | [inline] |
Definition at line 1192 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3, | |||
size_type | d4 | |||
) | [inline] |
Definition at line 1187 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | d1, | |
size_type | d2, | |||
size_type | d3 | |||
) | [inline] |
Definition at line 1182 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | size_type | d1, | |
size_type | d2 | |||
) | [inline] |
Definition at line 1177 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | const multi_geom< d, ALLOC > & | g | ) | [inline] |
Definition at line 1167 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::alloc | ( | ) | [inline] |
Definition at line 1116 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), FeIICreate(), GridGatherInCloudy(), GroupMap::GroupMap(), HeCollidSetup(), diatomics::init(), iso_allocate(), iso_level(), multi_arr< realnum, 6 >::multi_arr(), multi_arr< realnum, 6 >::operator=(), ParseCrashDo(), diatomics::Read_Mol_Diss_cross_sections(), ReadCollisionRateTable(), diatomics::SolveExcitedElectronicLevels(), and t_mean::t_mean().
const_reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | const [inline] |
Definition at line 1470 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | [inline] |
Definition at line 1463 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1456 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1449 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1442 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1435 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1428 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1421 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1414 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::at | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1407 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1748 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1744 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1740 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1736 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1732 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1728 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1724 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1720 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1 | ) | const [inline] |
Definition at line 1716 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::back | ( | size_type | i1 | ) | [inline] |
Definition at line 1712 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1555 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1551 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1547 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1543 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1539 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1535 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1531 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1527 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1 | ) | const [inline] |
Definition at line 1523 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::begin | ( | size_type | i1 | ) | [inline] |
Definition at line 1519 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::front(), diatomics::H2_Cooling(), diatomics::H2_LevelPops(), diatomics::H2_PunchDo(), diatomics::H2_X_coll_rate_evaluate(), and diatomics::SolveExcitedElectronicLevels().
size_type multi_arr< T, d, ALLOC, lgBC >::capacity | ( | ) | const [inline] |
Definition at line 1757 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::clear | ( | ) | [inline] |
Definition at line 1037 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and ParseCrashDo().
const multi_geom<d,ALLOC>& multi_arr< T, d, ALLOC, lgBC >::clone | ( | ) | const [inline] |
Definition at line 1784 of file container_classes.h.
Referenced by diatomics::init(), iso_allocate(), mie_write_opc(), diatomics::SolveExcitedElectronicLevels(), and t_mean::t_mean().
const_pointer multi_arr< T, d, ALLOC, lgBC >::data | ( | ) | const [inline] |
Definition at line 1776 of file container_classes.h.
pointer multi_arr< T, d, ALLOC, lgBC >::data | ( | ) | [inline] |
Definition at line 1769 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::dump_state(), multi_arr< realnum, 6 >::invalidate(), iso_level(), multi_arr< realnum, 6 >::restore_state(), and multi_arr< realnum, 6 >::zero().
void multi_arr< T, d, ALLOC, lgBC >::dump_state | ( | FILE * | out | ) | const [inline] |
Definition at line 1070 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::state_do().
bool multi_arr< T, d, ALLOC, lgBC >::empty | ( | ) | const [inline] |
Definition at line 1761 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1659 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1648 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1637 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1626 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1615 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1604 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1593 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1582 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1 | ) | const [inline] |
Definition at line 1571 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::end | ( | size_type | i1 | ) | [inline] |
Definition at line 1560 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::back(), diatomics::H2_LevelPops(), and diatomics::SolveExcitedElectronicLevels().
const_reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1707 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1703 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1699 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1695 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1691 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1687 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1683 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1679 of file container_classes.h.
const_reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1 | ) | const [inline] |
Definition at line 1675 of file container_classes.h.
reference multi_arr< T, d, ALLOC, lgBC >::front | ( | size_type | i1 | ) | [inline] |
Definition at line 1671 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::invalidate | ( | ) | [inline] |
Definition at line 1057 of file container_classes.h.
Referenced by iso_allocate().
const const_n_pointer<T,d,ALLOC,lgBC> multi_arr< T, d, ALLOC, lgBC >::n_ptr | ( | ) | const [inline] |
Definition at line 1392 of file container_classes.h.
const n_pointer<T,d,ALLOC,lgBC> multi_arr< T, d, ALLOC, lgBC >::n_ptr | ( | ) | [inline] |
Definition at line 1388 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::operator[]().
const multi_arr& multi_arr< T, d, ALLOC, lgBC >::operator= | ( | const multi_arr< T, d, ALLOC, lgBC > & | m | ) | [inline] |
Definition at line 1042 of file container_classes.h.
const const_indexed_type multi_arr< T, d, ALLOC, lgBC >::operator[] | ( | size_type | i | ) | const [inline] |
Definition at line 1402 of file container_classes.h.
const indexed_type multi_arr< T, d, ALLOC, lgBC >::operator[] | ( | size_type | i | ) | [inline] |
Definition at line 1397 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::p_clear0 | ( | ) | [inline, private] |
Definition at line 969 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::clear(), and multi_arr< realnum, 6 >::~multi_arr().
void multi_arr< T, d, ALLOC, lgBC >::p_clear1 | ( | ) | [inline, private] |
Definition at line 976 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::clear(), and multi_arr< realnum, 6 >::multi_arr().
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | const [inline, private] |
Definition at line 1356 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline, private] |
Definition at line 1326 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline, private] |
Definition at line 1296 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline, private] |
Definition at line 1266 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline, private] |
Definition at line 1236 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::begin(), multi_arr< realnum, 6 >::end(), and multi_arr< realnum, 6 >::ptr().
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator_bc | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | const [inline, private] |
Definition at line 1370 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator_bc | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline, private] |
Definition at line 1340 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator_bc | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline, private] |
Definition at line 1310 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator_bc | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline, private] |
Definition at line 1280 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::p_iterator_bc | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline, private] |
Definition at line 1250 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::p_iterator().
void multi_arr< T, d, ALLOC, lgBC >::p_setupArray | ( | size_type | n1[], | |
size_type | n2[], | |||
const tree_vec * | g, | |||
int | l | |||
) | [inline, private] |
Definition at line 1213 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_setupArray().
const_iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | const [inline] |
Definition at line 1514 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | [inline] |
Definition at line 1510 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | const [inline] |
Definition at line 1506 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1502 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | const [inline] |
Definition at line 1498 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1494 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | const [inline] |
Definition at line 1490 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1486 of file container_classes.h.
const_iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2 | |||
) | const [inline] |
Definition at line 1482 of file container_classes.h.
iterator multi_arr< T, d, ALLOC, lgBC >::ptr | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1478 of file container_classes.h.
Referenced by ParseCrashDo().
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5, | |||
size_type | i6 | |||
) | [inline] |
Definition at line 1110 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4, | |||
size_type | i5 | |||
) | [inline] |
Definition at line 1104 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3, | |||
size_type | i4 | |||
) | [inline] |
Definition at line 1098 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1, | |
size_type | i2, | |||
size_type | i3 | |||
) | [inline] |
Definition at line 1092 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1, | |
size_type | i2 | |||
) | [inline] |
Definition at line 1086 of file container_classes.h.
void multi_arr< T, d, ALLOC, lgBC >::reserve | ( | size_type | i1 | ) | [inline] |
Definition at line 1080 of file container_classes.h.
Referenced by FeIICreate(), GridGatherInCloudy(), GroupMap::GroupMap(), HeCollidSetup(), diatomics::init(), iso_allocate(), ParseCrashDo(), diatomics::Read_Mol_Diss_cross_sections(), ReadCollisionRateTable(), and t_mean::t_mean().
void multi_arr< T, d, ALLOC, lgBC >::restore_state | ( | FILE * | in | ) | [inline] |
Definition at line 1075 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::state_do().
size_type multi_arr< T, d, ALLOC, lgBC >::size | ( | void | ) | const [inline] |
Definition at line 1753 of file container_classes.h.
Referenced by FeIICreate(), multi_arr< realnum, 6 >::invalidate(), ReadCollisionRateTable(), multi_arr< realnum, 6 >::reserve(), and multi_arr< realnum, 6 >::zero().
void multi_arr< T, d, ALLOC, lgBC >::state_do | ( | FILE * | io, | |
bool | lgGet | |||
) | [inline] |
Definition at line 1062 of file container_classes.h.
const valarray<T>& multi_arr< T, d, ALLOC, lgBC >::vals | ( | ) | const [inline] |
Definition at line 1793 of file container_classes.h.
valarray<T>& multi_arr< T, d, ALLOC, lgBC >::vals | ( | ) | [inline] |
Definition at line 1789 of file container_classes.h.
Referenced by atom_levelN(), multi_arr< realnum, 6 >::invalidate(), multi_arr< realnum, 6 >::operator=(), multi_arr< realnum, 6 >::reserve(), and multi_arr< realnum, 6 >::zero().
void multi_arr< T, d, ALLOC, lgBC >::zero | ( | ) | [inline] |
Definition at line 1051 of file container_classes.h.
Referenced by atom_levelN(), GridGatherInCloudy(), diatomics::H2_Colden(), diatomics::H2_LevelPops(), diatomics::H2_Reset(), diatomics::H2_X_coll_rate_evaluate(), diatomics::H2_zero_pops_too_low(), diatomics::init(), iso_level(), t_mean::MeanZero(), diatomics::Mol_Photo_Diss_Rates(), mole_eval_balance(), ReadCollisionRateTable(), diatomics::SolveExcitedElectronicLevels(), and diatomics::SolveSomeGroundElectronicLevels().
const size_type multi_arr< T, d, ALLOC, lgBC >::npos = static_cast<size_type>(-1) [static, private] |
Definition at line 967 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::end(), and multi_arr< realnum, 6 >::p_iterator_bc().
valarray<T> multi_arr< T, d, ALLOC, lgBC >::p_dsl [private] |
Definition at line 946 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), multi_arr< realnum, 6 >::data(), multi_arr< realnum, 6 >::empty(), multi_arr< realnum, 6 >::p_clear0(), multi_arr< realnum, 6 >::p_setupArray(), and multi_arr< realnum, 6 >::vals().
multi_geom<d,ALLOC> multi_arr< T, d, ALLOC, lgBC >::p_g [private] |
Definition at line 944 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), multi_arr< realnum, 6 >::at(), multi_arr< realnum, 6 >::capacity(), multi_arr< realnum, 6 >::clone(), multi_arr< realnum, 6 >::data(), multi_arr< realnum, 6 >::dump_state(), multi_arr< realnum, 6 >::empty(), multi_arr< realnum, 6 >::end(), multi_arr< realnum, 6 >::invalidate(), multi_arr< realnum, 6 >::n_ptr(), multi_arr< realnum, 6 >::operator=(), multi_arr< realnum, 6 >::p_clear0(), multi_arr< realnum, 6 >::p_iterator_bc(), multi_arr< realnum, 6 >::reserve(), multi_arr< realnum, 6 >::restore_state(), multi_arr< realnum, 6 >::size(), and multi_arr< realnum, 6 >::zero().
T** multi_arr< T, d, ALLOC, lgBC >::p_psl[d-1] [private] |
Definition at line 945 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), multi_arr< realnum, 6 >::empty(), multi_arr< realnum, 6 >::p_clear0(), multi_arr< realnum, 6 >::p_clear1(), and multi_arr< realnum, 6 >::p_setupArray().
T* multi_arr< T, d, ALLOC, lgBC >::p_ptr [private] |
Definition at line 947 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), multi_arr< realnum, 6 >::n_ptr(), and multi_arr< realnum, 6 >::p_clear1().
T** multi_arr< T, d, ALLOC, lgBC >::p_ptr2 [private] |
Definition at line 948 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_clear1().
T*** multi_arr< T, d, ALLOC, lgBC >::p_ptr3 [private] |
Definition at line 949 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_clear1().
T**** multi_arr< T, d, ALLOC, lgBC >::p_ptr4 [private] |
Definition at line 950 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_clear1().
T***** multi_arr< T, d, ALLOC, lgBC >::p_ptr5 [private] |
Definition at line 951 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_clear1().
T****** multi_arr< T, d, ALLOC, lgBC >::p_ptr6 [private] |
Definition at line 952 of file container_classes.h.
Referenced by multi_arr< realnum, 6 >::alloc(), and multi_arr< realnum, 6 >::p_clear1().