#include <flex.h>
Public Member Functions | |
T & | operator() (IXTYPE i0) const |
T & | operator() (IXTYPE i0, IXTYPE i1) const |
T & | operator() (IXTYPE i0, IXTYPE i1, IXTYPE i2) const |
T & | operator() (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3) const |
T & | operator() (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3, IXTYPE i4) const |
T & | operator() (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3, IXTYPE i4, IXTYPE i5) const |
T & | operator[] (const Ix< N > &ix) const |
constructor | |
Array () | |
Array (const Ix< N > &len0) | |
Array (const Ix< N > &len0, const Ix< N > &l0) | |
Array (const Array &src) | |
template<class TypeS> | Array (const Array< N, TypeS > &src) |
Array (const Array< N+1, Type > &src, DIMT n, IXTYPE i) | |
Array (IXTYPE i0) | |
Array (IXTYPE i0, IXTYPE i1) | |
Array (IXTYPE i0, IXTYPE i1, IXTYPE i2) | |
Array (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3) | |
Array (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3, IXTYPE i4) | |
Array (IXTYPE i0, IXTYPE i1, IXTYPE i2, IXTYPE i3, IXTYPE i4, IXTYPE i5) | |
const | |
IXTYPE | L (DIMT n) const |
IXTYPE | U (DIMT n) const |
IXTYPE | Len (DIMT n) const |
T * | Start () const |
bool | IsNull () const |
nonconst | |
bool | Dealloc () |
bool | Realloc (const Ix< N > &len0) |
bool | Realloc (const Ix< N > &len0, const Ix< N > &l0) |
template<class TypeS> bool | Realloc (const Array< N, TypeS > &src) |
template<class TypeS> bool | Refer (const Array< N, TypeS > &src) |
bool | Clone () |
template<class TypeS> bool | Clone (const Array< N, TypeS > &src) |
template<class TypeS> Array & | Extend (const Array< N-1, TypeS > &src, IXTYPE l0, IXTYPE u0) |
template<class TypeS> Array & | Rmdim (const Array< N+1, TypeS > &src, DIMT n, IXTYPE i) |
template<class TypeS> Array & | operator= (const Array< N, TypeS > &src) |
Array & | operator= (const Array &src) |
Array & | Shift (DIMT n, IXTYPE i) |
Array & | Shift (const Ix< N > &ix) |
Array & | Permute (DIMT n1, DIMT n2) |
Array & | Permute (const Permutation< N > &nx) |
Array & | Restrict (DIMT n, IXTYPE l0, IXTYPE u0) |
Array & | Restrict (const Ix< N > &l0, const Ix< N > &u0) |
Array & | RestrictL (DIMT n, IXTYPE l0) |
Array & | RestrictL (const Ix< N > &l0) |
Array & | RestrictU (DIMT n, IXTYPE u0) |
Array & | RestrictU (const Ix< N > &u0) |
Array & | Flip (DIMT n) |
Array & | Flip (const Ix< N, bool > &r) |
Array & | Reverse (DIMT n) |
Array & | Reverse (const Ix< N, bool > &r) |
Array & | Restride (DIMT n, IXTYPE s) |
Array & | Restride (const Ix< N > &s) |
Use this array for efficient numerical computations or other applications where powerful and efficient arrays are needed for large data sets.
If efficiency is crusial, see also the specialization Array<N,Fix<T> > . It is faster but less flexible (cannot permute dimensions).
|
Default constructor. Initialize array with no data and index bounds zero |
|
Constructor with lower index bound set to zero
|
|
|
|
Copy constructor Creates a reference to the same memory area as src |
|
Copy constructor from another array type object If possible, create a reference to the same memory area as |
|
Constructor that creates reference to a slice along dimension |
|
1-dimensional array of given length |
|
2-dimensional array of given length |
|
3-dimensional array of given length |
|
4-dimensional array of given length |
|
5-dimensional array of given length |
|
6-dimensional array of given length |
|
Release this object from it's element data and allocate a new data set with index bounds identical to those of Note that this is the same as Realloc followed by element-wise copy.
|
|
Same as Clone(*this).
|
|
Release this object from it's element data and set index bounds to zero |
|
Create a reference to |
|
Reverse order of elements along all dimensions and adjust valid index range so that element at (0,0,...,0) is unchanged |
|
Reverse order of elements along dimension |
|
|
|
Lower index bounds L(n) is the lowest index allowed on dimension |
|
Convenience function giving the number of array elements along given dimension. Simply put, Len(n) is U(n) - L(n) |
|
Get 6-dimensional array element at given position |
|
Get 5-dimensional array element at given position |
|
Get 4-dimensional array element at given position |
|
Get 3-dimensional array element at given position |
|
Get 2-dimensional array element at given position |
|
Get 1-dimensional array element at given position |
|
Create an identical reference to |
|
Create an identical reference to |
|
Get element at given position |
|
Permute dimensions |
|
Permute dimensions by swapping two |
|
Release this object from it's element data and allocate a new, uninitialized data set with given size and index bounds identical with those of
|
|
Release this object from it's element data and allocate a new data set with given size and given lower index bounds
|
|
Release this object from it's element data and allocate a new data set with given size (lower index bounds zero)
|
|
Reinitialize this object as an identical copy of
|
|
Restrict valid index range along all dimensions |
|
Restrict valid index range along dimension
Resulting index range along |
|
Restrict lower index bound along all dimensions |
|
Restrict lower index bound along dimension |
|
Restrict upper index bound along all dimensions |
|
Restrict upper index bound along dimension |
|
Set this object to point to every |
|
Set this object to point to every |
|
Reverse order of elements along all dimensions, Valid index range is unchanged |
|
Reverse order of elements along dimension |
|
Create a reference to a slice of |
|
Shift data and valid index range along all dimensions |
|
Shift data and valid index range along dimension |
|
Pointer to first valid element i.e. element at lowest index bound Useful for passing pointer to fortran routine, but note that if the dimensions are permuted or reversed the data organization is not compatible with fortran. |
|
Upper index bounds U(n) is one more than the largest index allowed on dimension |