blitz Version 1.0.2
Loading...
Searching...
No Matches
blitz::Array< P_numtype, N_rank > Class Template Reference

Declaration of class Array, the "Swiss army knife" of Blitz expression template classes. More...

#include <array-impl.h>

Inheritance diagram for blitz::Array< P_numtype, N_rank >:
Inheritance graph
Collaboration diagram for blitz::Array< P_numtype, N_rank >:
Collaboration graph

Public Types

typedef P_numtype T_numtype
 
typedef TinyVector< int, N_rankT_index
 
typedef Array< T_numtype, N_rankT_array
 
typedef FastArrayIterator< T_numtype, N_rankT_iterator
 
typedef ArrayIterator< T_numtype, N_rankiterator
 
typedef ConstArrayIterator< T_numtype, N_rankconst_iterator
 
typedef GeneralArrayStorage< N_rankT_default_storage
 Set default storage order.
 
- Public Types inherited from blitz::MemoryBlockReference< P_numtype >
typedef P_numtype T_type
 

Public Member Functions

template<typename T_expr >
 Array (_bz_ArrayExpr< T_expr > expr)
 Construct an array from an expression.
 
 Array (GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, int length6, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, int length9, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, int length9, int length10, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, GeneralArrayStorage< N_rank > storage=T_default_storage(contiguousData))
 
 Array (T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, TinyVector< diffType, N_rank > stride, GeneralArrayStorage< N_rank > storage=T_default_storage(contiguousData))
 Construct an array from an existing block of memory, with a given set of strides.
 
 Array (T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage< N_rank > storage=T_default_storage(contiguousData))
 Construct an array from an existing block of memory.
 
 Array (T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, TinyVector< diffType, N_rank > stride, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage< N_rank > storage=T_default_storage(contiguousData))
 Construct an array from an existing block of memory, with a given set of strides.
 
 Array (const TinyVector< int, N_rank > &extent, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (const TinyVector< int, N_rank > &lbounds, const TinyVector< int, N_rank > &extent, const GeneralArrayStorage< N_rank > &storage=T_default_storage())
 
 Array (Range r0, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10, GeneralArrayStorage< N_rank > storage=T_default_storage())
 
 Array (const Array< T_numtype, N_rank > &array)
 
 Array (const TinyVector< int, N_rank-1 > &shape, int lastExtent, const GeneralArrayStorage< N_rank > &storage)
 
 Array (Array< T_numtype, N_rank > &array, Range r0)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9)
 
 Array (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10)
 
 Array (Array< T_numtype, N_rank > &array, const RectDomain< N_rank > &subdomain)
 
 Array (Array< T_numtype, N_rank > &array, const StridedDomain< N_rank > &subdomain)
 
template<int N_rank2, typename R0 , typename R1 , typename R2 , typename R3 , typename R4 , typename R5 , typename R6 , typename R7 , typename R8 , typename R9 , typename R10 >
 Array (Array< T_numtype, N_rank2 > &array, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8, R9 r9, R10 r10)
 
const TinyVector< int, N_rank > & base () const
 
int base (int rank) const
 
iterator begin ()
 
const_iterator begin () const
 
T_iterator beginFast () const
 
template<typename P_numtype2 >
Array< P_numtype2, N_rankchopComponent (P_numtype2 a, int compNum, int numComponents) const
 
int cols () const
 
int columns () const
 
T_array copy () const
 
diffType dataOffset () const
 
const T_numtype *restrict data () const
 
T_numtype *restrict data ()
 
const T_numtype *restrict dataZero () const
 
T_numtype *restrict dataZero ()
 
diffType dataFirstOffset () const
 
const T_numtype *restrict dataFirst () const
 
T_numtype *restrict dataFirst ()
 
int depth () const
 
int dimensions () const
 
RectDomain< N_rankdomain () const
 
void dumpStructureInformation (ostream &os=cout) const
 
iterator end ()
 
const_iterator end () const
 
int extent (int rank) const
 
const TinyVector< int, N_rank > & extent () const
 
template<typename P_numtype2 >
Array< P_numtype2, N_rankextractComponent (P_numtype2, int compNum, int numComponents) const
 
void free ()
 
bool isMajorRank (int rank) const
 
bool isMinorRank (int rank) const
 
bool isRankStoredAscending (int rank) const
 
bool isStorageContiguous () const
 
int lbound (int rank) const
 
TinyVector< int, N_ranklbound () const
 
int length (int rank) const
 
const TinyVector< int, N_rank > & length () const
 
void makeUnique ()
 
sizeType numElements () const
 
int ordering (int storageRankIndex) const
 
const TinyVector< int, N_rank > & ordering () const
 
void transposeSelf (int r0, int r1, int r2=0, int r3=0, int r4=0, int r5=0, int r6=0, int r7=0, int r8=0, int r9=0, int r10=0)
 
T_array transpose (int r0, int r1, int r2=0, int r3=0, int r4=0, int r5=0, int r6=0, int r7=0, int r8=0, int r9=0, int r10=0) const
 
void reference (const T_array &)
 
void weakReference (const T_array &)
 
T_array reindex (const TinyVector< int, N_rank > &)
 
void reindexSelf (const TinyVector< int, N_rank > &)
 
void resize (int extent)
 
void resize (int extent1, int extent2)
 
void resize (int extent1, int extent2, int extent3)
 
void resize (int extent1, int extent2, int extent3, int extent4)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10)
 
void resize (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10, int extent11)
 
void resize (Range r1)
 
void resize (Range r1, Range r2)
 
void resize (Range r1, Range r2, Range r3)
 
void resize (Range r1, Range r2, Range r3, Range r4)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10)
 
void resize (Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10, Range r11)
 
void resize (const TinyVector< int, N_rank > &)
 
void resizeAndPreserve (const TinyVector< int, N_rank > &)
 
void resizeAndPreserve (int extent)
 
void resizeAndPreserve (int extent1, int extent2)
 
void resizeAndPreserve (int extent1, int extent2, int extent3)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10)
 
void resizeAndPreserve (int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10, int extent11)
 
T_array reverse (int rank)
 
void reverseSelf (int rank)
 
int rows () const
 
void setStorage (GeneralArrayStorage< N_rank >)
 
void slice (int rank, Range r)
 
const TinyVector< int, N_rank > & shape () const
 
sizeType size () const
 
sizeType storageSize () const
 Returns the length of the array storage.
 
const TinyVector< diffType, N_rank > & stride () const
 
diffType stride (int rank) const
 
bool threadLocal (bool disableLock=true) const
 
int ubound (int rank) const
 
TinyVector< int, N_rankubound () const
 
int zeroOffset () const
 
bool isVectorAligned (diffType offset) const
 Returns true if the array is aligned on a simd vector width.
 
bool isInRangeForDim (int i, int d) const
 
bool isInRange (int i0) const
 
bool isInRange (int i0, int i1) const
 
bool isInRange (int i0, int i1, int i2) const
 
bool isInRange (int i0, int i1, int i2, int i3) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5, int i6) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9) const
 
bool isInRange (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10) const
 
bool isInRange (const T_index &index) const
 
bool assertInRange (const T_index &BZ_DEBUG_PARAM(index)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5), int BZ_DEBUG_PARAM(i6)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5), int BZ_DEBUG_PARAM(i6), int BZ_DEBUG_PARAM(i7)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5), int BZ_DEBUG_PARAM(i6), int BZ_DEBUG_PARAM(i7), int BZ_DEBUG_PARAM(i8)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5), int BZ_DEBUG_PARAM(i6), int BZ_DEBUG_PARAM(i7), int BZ_DEBUG_PARAM(i8), int BZ_DEBUG_PARAM(i9)) const
 
bool assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1), int BZ_DEBUG_PARAM(i2), int BZ_DEBUG_PARAM(i3), int BZ_DEBUG_PARAM(i4), int BZ_DEBUG_PARAM(i5), int BZ_DEBUG_PARAM(i6), int BZ_DEBUG_PARAM(i7), int BZ_DEBUG_PARAM(i8), int BZ_DEBUG_PARAM(i9), int BZ_DEBUG_PARAM(i10)) const
 
template<int N_rank2>
const T_numtype &restrict operator() (const TinyVector< int, N_rank2 > &index) const
 
template<int N_rank2>
T_numtype &restrict operator() (const TinyVector< int, N_rank2 > &index)
 
const T_numtype &restrict operator() (TinyVector< int, 1 > index) const
 
T_numtypeoperator() (TinyVector< int, 1 > index)
 
const T_numtype &restrict operator() (TinyVector< int, 2 > index) const
 
T_numtypeoperator() (TinyVector< int, 2 > index)
 
const T_numtype &restrict operator() (TinyVector< int, 3 > index) const
 
T_numtypeoperator() (TinyVector< int, 3 > index)
 
const T_numtype &restrict operator() (const TinyVector< int, 4 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 4 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 5 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 5 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 6 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 6 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 7 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 7 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 8 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 8 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 9 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 9 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 10 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 10 > &index)
 
const T_numtype &restrict operator() (const TinyVector< int, 11 > &index) const
 
T_numtypeoperator() (const TinyVector< int, 11 > &index)
 
const T_numtype &restrict operator() (int i0) const
 
T_numtype &restrict operator() (int i0)
 
const T_numtype &restrict operator() (int i0, int i1) const
 
T_numtype &restrict operator() (int i0, int i1)
 
const T_numtype &restrict operator() (int i0, int i1, int i2) const
 
T_numtype &restrict operator() (int i0, int i1, int i2)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9)
 
const T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10) const
 
T_numtype &restrict operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10)
 
T_arraynoConst () const
 
T_array operator() (const RectDomain< N_rank > &subdomain) const
 
T_array operator() (const StridedDomain< N_rank > &subdomain) const
 
T_array operator() (Range r0) const
 
T_array operator() (Range r0, Range r1) const
 
T_array operator() (Range r0, Range r1, Range r2) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9) const
 
T_array operator() (Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10) const
 
template<int N0>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0 > > operator() (IndexPlaceholder< N0 >) const
 
template<int N0, int N1>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >) const
 
template<int N0, int N1, int N2>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >) const
 
template<int N0, int N1, int N2, int N3>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >) const
 
template<int N0, int N1, int N2, int N3, int N4>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5, int N6>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5, N6 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >, IndexPlaceholder< N6 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5, N6, N7 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >, IndexPlaceholder< N6 >, IndexPlaceholder< N7 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5, N6, N7, N8 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >, IndexPlaceholder< N6 >, IndexPlaceholder< N7 >, IndexPlaceholder< N8 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8, int N9>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >, IndexPlaceholder< N6 >, IndexPlaceholder< N7 >, IndexPlaceholder< N8 >, IndexPlaceholder< N9 >) const
 
template<int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8, int N9, int N10>
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_array >::T_expr, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9, N10 > > operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >, IndexPlaceholder< N2 >, IndexPlaceholder< N3 >, IndexPlaceholder< N4 >, IndexPlaceholder< N5 >, IndexPlaceholder< N6 >, IndexPlaceholder< N7 >, IndexPlaceholder< N8 >, IndexPlaceholder< N9 >, IndexPlaceholder< N10 >) const
 
Array< typename multicomponent_traits< T_numtype >::T_element, N_rankoperator[] (const unsigned component)
 
const Array< typename multicomponent_traits< T_numtype >::T_element, N_rankoperator[] (const unsigned component) const
 
Array< typename multicomponent_traits< T_numtype >::T_element, N_rankoperator[] (const int component)
 
const Array< typename multicomponent_traits< T_numtype >::T_element, N_rankoperator[] (const int component) const
 
template<typename T_indexContainer >
IndirectArray< T_array, T_indexContaineroperator[] (const T_indexContainer &index)
 
T_numtype *restrict getInitializationIterator ()
 
bool canCollapse (int outerRank, int innerRank) const
 
Assignment operators. \todo Index placeholder

operand.

Todo
Random operand.
ListInitializationSwitch< T_arrayoperator= (T_numtype x)
 Scalar operand assignment.
 
T_arrayinitialize (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator+= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator-= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator*= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator/= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator%= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator^= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator&= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator|= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator>>= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator<<= (T_numtype)
 Scalar operand assignment.
 
T_arrayoperator= (const Array< T_numtype, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator+= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator-= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator*= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator/= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator%= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator^= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator&= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator|= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator>>= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename P_numtype2 >
T_arrayoperator<<= (const Array< P_numtype2, N_rank > &)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator+= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator-= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator*= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator/= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator%= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator^= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator&= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator|= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator>>= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
template<typename T_expr >
T_arrayoperator<<= (BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
 Scalar operand assignment.
 
- Public Member Functions inherited from blitz::MemoryBlockReference< P_numtype >
 MemoryBlockReference ()
 
 MemoryBlockReference (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
 MemoryBlockReference (sizeType length, T_type *data, preexistingMemoryPolicy deletionPolicy)
 
 MemoryBlockReference (sizeType items)
 
 ~MemoryBlockReference ()
 
bool isVectorAligned (size_t offset) const
 Returns true if the offset from data_ is vector aligned.
 
sizeType blockLength () const
 Returns the allocated length of the memory block.
 

Static Public Member Functions

static int rank ()
 

Static Public Attributes

static const int rank_ = N_rank
 

Protected Member Functions

_bz_inline2 void computeStrides ()
 
_bz_inline2 void setupStorage (int rank)
 
void constructSubarray (Array< T_numtype, N_rank > &array, const RectDomain< N_rank > &)
 
void constructSubarray (Array< T_numtype, N_rank > &array, const StridedDomain< N_rank > &)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9)
 
void constructSubarray (Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10)
 
void calculateZeroOffset ()
 
template<int N_rank2, typename R0 , typename R1 , typename R2 , typename R3 , typename R4 , typename R5 , typename R6 , typename R7 , typename R8 , typename R9 , typename R10 >
void constructSlice (Array< T_numtype, N_rank2 > &array, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8, R9 r9, R10 r10)
 
template<int N_rank2>
void slice (int &setRank, Range r, Array< T_numtype, N_rank2 > &array, TinyVector< int, N_rank2 > &rankMap, int sourceRank)
 
template<int N_rank2>
void slice (int &setRank, int i, Array< T_numtype, N_rank2 > &array, TinyVector< int, N_rank2 > &rankMap, int sourceRank)
 
template<int N_rank2>
void slice (int &, nilArraySection, Array< T_numtype, N_rank2 > &, TinyVector< int, N_rank2 > &, int)
 
void doTranspose (int destRank, int sourceRank, T_array &array)
 
- Protected Member Functions inherited from blitz::MemoryBlockReference< P_numtype >
int numReferences () const
 
bool lockReferenceCount (bool lockingPolicy) const
 
void changeToNullBlock ()
 
void changeBlock (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
void newBlock (sizeType items)
 

Protected Attributes

GeneralArrayStorage< N_rankstorage_
 
TinyVector< int, N_ranklength_
 
TinyVector< diffType, N_rankstride_
 
diffType zeroOffset_
 
- Protected Attributes inherited from blitz::MemoryBlockReference< P_numtype >
T_type *restrict data_
 

Private Types

typedef MemoryBlockReference< P_numtypeT_base
 

Detailed Description

template<typename P_numtype, int N_rank>
class blitz::Array< P_numtype, N_rank >

Declaration of class Array, the "Swiss army knife" of Blitz expression template classes.

This is an arbitrary (at compile time) rank, arbitrary size container.

Todo
Array should inherit protected from MemoryBlockReference. To make this work, need to expose MemoryBlockReference::numReferences() and make Array<P,N2> a friend of Array<P,N> for slicing. (Is this still relevant? Array DOES inherit from MemoryBlockReference.)

Member Typedef Documentation

◆ const_iterator

◆ iterator

◆ T_array

◆ T_base

◆ T_default_storage

template<typename P_numtype , int N_rank>
typedef GeneralArrayStorage<N_rank> blitz::Array< P_numtype, N_rank >::T_default_storage

Set default storage order.

This is configurable via defines as it is can be beneficial to set a specific storage for an entire project/file.

First check for the Fortan flag and then the column major flag, since Fortran arrays are column major.

◆ T_index

◆ T_iterator

◆ T_numtype

template<typename P_numtype , int N_rank>
typedef P_numtype blitz::Array< P_numtype, N_rank >::T_numtype

Constructor & Destructor Documentation

◆ Array() [1/46]

template<typename P_numtype , int N_rank>
template<typename T_expr >
blitz::Array< P_numtype, N_rank >::Array ( _bz_ArrayExpr< T_expr > expr)
explicit

Construct an array from an expression.

Because this entails a memory allocation, it is explicit so this fact is obvious to the user. (There may also be ambiguities in making it implicit?)

◆ Array() [2/46]

◆ Array() [3/46]

◆ Array() [4/46]

◆ Array() [5/46]

◆ Array() [6/46]

◆ Array() [7/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [8/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [9/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [10/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
int length7,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [11/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
int length7,
int length8,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [12/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
int length7,
int length8,
int length9,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [13/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
int length7,
int length8,
int length9,
int length10,
GeneralArrayStorage< N_rank > storage = T_default_storage() )
inline

◆ Array() [14/46]

◆ Array() [15/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( T_numtype *restrict dataFirst,
TinyVector< int, N_rank > shape,
TinyVector< diffType, N_rank > stride,
GeneralArrayStorage< N_rank > storage = T_default_storage(contiguousData) )
inline

Construct an array from an existing block of memory, with a given set of strides.

Ownership is not acquired (i.e. the memory block will not be freed by Blitz++). This constructor is used by extractComponent to make a component view of a multicomponent array, which is by design noncontiguous. This creates an incorrect length in the MemoryBlockReference (though that may be of no consequence since we're not freeing the memory).

References blitz::Array< P_numtype, N_rank >::calculateZeroOffset(), blitz::MemoryBlockReference< P_numtype >::data_, blitz::Array< P_numtype, N_rank >::dataFirst(), blitz::Array< P_numtype, N_rank >::length_, blitz::Array< P_numtype, N_rank >::shape(), blitz::Array< P_numtype, N_rank >::stride(), blitz::Array< P_numtype, N_rank >::stride_, and blitz::Array< P_numtype, N_rank >::zeroOffset_.

◆ Array() [16/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( T_numtype *restrict dataFirst,
TinyVector< int, N_rank > shape,
preexistingMemoryPolicy deletionPolicy,
GeneralArrayStorage< N_rank > storage = T_default_storage(contiguousData) )
inline

Construct an array from an existing block of memory.

If the storage represents a padded array, the length of the memory block will be incorrect, which would lead to a crash if "deleteDataWhenDone" is used. For this reason, we check that the resulting array is contiguous.

References blitz::Array< P_numtype, N_rank >::computeStrides(), blitz::Array< P_numtype, N_rank >::copy(), blitz::MemoryBlockReference< P_numtype >::data_, blitz::Array< P_numtype, N_rank >::dataFirst(), blitz::deleteDataWhenDone, blitz::duplicateData, blitz::Array< P_numtype, N_rank >::isStorageContiguous(), blitz::Array< P_numtype, N_rank >::length_, blitz::Array< P_numtype, N_rank >::reference(), blitz::Array< P_numtype, N_rank >::shape(), and blitz::Array< P_numtype, N_rank >::zeroOffset_.

◆ Array() [17/46]

◆ Array() [18/46]

◆ Array() [19/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( const TinyVector< int, N_rank > & lbounds,
const TinyVector< int, N_rank > & extent,
const GeneralArrayStorage< N_rank > & storage = T_default_storage() )

◆ Array() [20/46]

◆ Array() [21/46]

◆ Array() [22/46]

◆ Array() [23/46]

◆ Array() [24/46]

◆ Array() [25/46]

◆ Array() [26/46]

◆ Array() [27/46]

◆ Array() [28/46]

◆ Array() [29/46]

◆ Array() [30/46]

◆ Array() [31/46]

◆ Array() [32/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( const TinyVector< int, N_rank-1 > & shape,
int lastExtent,
const GeneralArrayStorage< N_rank > & storage )

◆ Array() [33/46]

◆ Array() [34/46]

◆ Array() [35/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2 )
inline

◆ Array() [36/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3 )
inline

◆ Array() [37/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4 )
inline

◆ Array() [38/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5 )
inline

◆ Array() [39/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6 )
inline

◆ Array() [40/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7 )
inline

◆ Array() [41/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8 )
inline

◆ Array() [42/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9 )
inline

◆ Array() [43/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9,
Range r10 )
inline

◆ Array() [44/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank > & array,
const RectDomain< N_rank > & subdomain )
inline

◆ Array() [45/46]

◆ Array() [46/46]

template<typename P_numtype , int N_rank>
blitz::Array< P_numtype, N_rank >::Array ( Array< T_numtype, N_rank2 > & array,
R0 r0,
R1 r1,
R2 r2,
R3 r3,
R4 r4,
R5 r5,
R6 r6,
R7 r7,
R8 r8,
R9 r9,
R10 r10 )
inline

Member Function Documentation

◆ assertInRange() [1/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( const T_index & BZ_DEBUG_PARAMindex) const
inline

References blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::length_, blitz::MemoryBlockReference< P_numtype >::MemoryBlockReference(), and blitz::Array< P_numtype, N_rank >::storage_.

Referenced by blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), and blitz::Array< P_numtype, N_rank >::operator()().

◆ assertInRange() [2/12]

◆ assertInRange() [3/12]

◆ assertInRange() [4/12]

◆ assertInRange() [5/12]

◆ assertInRange() [6/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4 ) const
inline

◆ assertInRange() [7/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5 ) const
inline

◆ assertInRange() [8/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5,
int BZ_DEBUG_PARAMi6 ) const
inline

◆ assertInRange() [9/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5,
int BZ_DEBUG_PARAMi6,
int BZ_DEBUG_PARAMi7 ) const
inline

◆ assertInRange() [10/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5,
int BZ_DEBUG_PARAMi6,
int BZ_DEBUG_PARAMi7,
int BZ_DEBUG_PARAMi8 ) const
inline

◆ assertInRange() [11/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5,
int BZ_DEBUG_PARAMi6,
int BZ_DEBUG_PARAMi7,
int BZ_DEBUG_PARAMi8,
int BZ_DEBUG_PARAMi9 ) const
inline

◆ assertInRange() [12/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::assertInRange ( int BZ_DEBUG_PARAMi0,
int BZ_DEBUG_PARAMi1,
int BZ_DEBUG_PARAMi2,
int BZ_DEBUG_PARAMi3,
int BZ_DEBUG_PARAMi4,
int BZ_DEBUG_PARAMi5,
int BZ_DEBUG_PARAMi6,
int BZ_DEBUG_PARAMi7,
int BZ_DEBUG_PARAMi8,
int BZ_DEBUG_PARAMi9,
int BZ_DEBUG_PARAMi10 ) const
inline

◆ base() [1/2]

◆ base() [2/2]

◆ begin() [1/2]

template<typename P_numtype , int N_rank>
iterator blitz::Array< P_numtype, N_rank >::begin ( )
inline

◆ begin() [2/2]

template<typename P_numtype , int N_rank>
const_iterator blitz::Array< P_numtype, N_rank >::begin ( ) const
inline

◆ beginFast()

template<typename P_numtype , int N_rank>
T_iterator blitz::Array< P_numtype, N_rank >::beginFast ( ) const
inline

◆ calculateZeroOffset()

◆ canCollapse()

◆ chopComponent()

template<typename P_numtype , int N_rank>
template<typename P_numtype2 >
Array< P_numtype2, N_rank > blitz::Array< P_numtype, N_rank >::chopComponent ( P_numtype2 a,
int compNum,
int numComponents ) const
inline

◆ cols()

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::cols ( ) const
inline

◆ columns()

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::columns ( ) const
inline

◆ computeStrides()

◆ constructSlice()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSlice ( Array< T_numtype, N_rank2 > & array,
R0 r0,
R1 r1,
R2 r2,
R3 r3,
R4 r4,
R5 r5,
R6 r6,
R7 r7,
R8 r8,
R9 r9,
R10 r10 )
protected

◆ constructSubarray() [1/13]

◆ constructSubarray() [2/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
const StridedDomain< N_rank > &  )
protected

◆ constructSubarray() [3/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0 )
protected

◆ constructSubarray() [4/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1 )
protected

◆ constructSubarray() [5/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2 )
protected

◆ constructSubarray() [6/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3 )
protected

◆ constructSubarray() [7/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4 )
protected

◆ constructSubarray() [8/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5 )
protected

◆ constructSubarray() [9/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6 )
protected

◆ constructSubarray() [10/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7 )
protected

◆ constructSubarray() [11/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8 )
protected

◆ constructSubarray() [12/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9 )
protected

◆ constructSubarray() [13/13]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::constructSubarray ( Array< T_numtype, N_rank > & array,
Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9,
Range r10 )
protected

◆ copy()

◆ data() [1/2]

◆ data() [2/2]

◆ dataFirst() [1/2]

◆ dataFirst() [2/2]

◆ dataFirstOffset()

◆ dataOffset()

◆ dataZero() [1/2]

◆ dataZero() [2/2]

◆ depth()

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::depth ( ) const
inline

◆ dimensions()

◆ domain()

◆ doTranspose()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::doTranspose ( int destRank,
int sourceRank,
T_array & array )
protected

◆ dumpStructureInformation()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::dumpStructureInformation ( ostream & os = cout) const

◆ end() [1/2]

template<typename P_numtype , int N_rank>
iterator blitz::Array< P_numtype, N_rank >::end ( )
inline

◆ end() [2/2]

template<typename P_numtype , int N_rank>
const_iterator blitz::Array< P_numtype, N_rank >::end ( ) const
inline

◆ extent() [1/2]

◆ extent() [2/2]

◆ extractComponent()

◆ free()

◆ getInitializationIterator()

template<typename P_numtype , int N_rank>
T_numtype *restrict blitz::Array< P_numtype, N_rank >::getInitializationIterator ( )
inline

◆ initialize()

template<typename P_numtype , int N_rank>
T_array & blitz::Array< P_numtype, N_rank >::initialize ( T_numtype )

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ isInRange() [1/12]

◆ isInRange() [2/12]

◆ isInRange() [3/12]

◆ isInRange() [4/12]

◆ isInRange() [5/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3 ) const
inline

◆ isInRange() [6/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4 ) const
inline

◆ isInRange() [7/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5 ) const
inline

◆ isInRange() [8/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5,
int i6 ) const
inline

◆ isInRange() [9/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5,
int i6,
int i7 ) const
inline

◆ isInRange() [10/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5,
int i6,
int i7,
int i8 ) const
inline

◆ isInRange() [11/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5,
int i6,
int i7,
int i8,
int i9 ) const
inline

◆ isInRange() [12/12]

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isInRange ( int i0,
int i1,
int i2,
int i3,
int i4,
int i5,
int i6,
int i7,
int i8,
int i9,
int i10 ) const
inline

◆ isInRangeForDim()

◆ isMajorRank()

◆ isMinorRank()

◆ isRankStoredAscending()

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isRankStoredAscending ( int rank) const
inline

◆ isStorageContiguous()

◆ isVectorAligned()

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::isVectorAligned ( diffType offset) const
inline

Returns true if the array is aligned on a simd vector width.

References blitz::Array< P_numtype, N_rank >::dataFirst(), and blitz::simdTypes< T >::isVectorAligned().

◆ lbound() [1/2]

◆ lbound() [2/2]

◆ length() [1/2]

template<typename P_numtype , int N_rank>
const TinyVector< int, N_rank > & blitz::Array< P_numtype, N_rank >::length ( ) const
inline

◆ length() [2/2]

◆ makeUnique()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::makeUnique ( )

◆ noConst()

◆ numElements()

◆ operator%=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator%=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator%=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator&=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator&=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator&=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator()() [1/70]

◆ operator()() [2/70]

◆ operator()() [3/70]

◆ operator()() [4/70]

◆ operator()() [5/70]

◆ operator()() [6/70]

◆ operator()() [7/70]

◆ operator()() [8/70]

◆ operator()() [9/70]

◆ operator()() [10/70]

◆ operator()() [11/70]

◆ operator()() [12/70]

◆ operator()() [13/70]

◆ operator()() [14/70]

◆ operator()() [15/70]

◆ operator()() [16/70]

◆ operator()() [17/70]

◆ operator()() [18/70]

◆ operator()() [19/70]

◆ operator()() [20/70]

◆ operator()() [21/70]

◆ operator()() [22/70]

◆ operator()() [23/70]

◆ operator()() [24/70]

◆ operator()() [25/70]

◆ operator()() [26/70]

◆ operator()() [27/70]

◆ operator()() [28/70]

◆ operator()() [29/70]

◆ operator()() [30/70]

◆ operator()() [31/70]

◆ operator()() [32/70]

◆ operator()() [33/70]

◆ operator()() [34/70]

◆ operator()() [35/70]

◆ operator()() [36/70]

◆ operator()() [37/70]

◆ operator()() [38/70]

◆ operator()() [39/70]

◆ operator()() [40/70]

◆ operator()() [41/70]

◆ operator()() [42/70]

◆ operator()() [43/70]

◆ operator()() [44/70]

◆ operator()() [45/70]

◆ operator()() [46/70]

◆ operator()() [47/70]

◆ operator()() [48/70]

◆ operator()() [49/70]

◆ operator()() [50/70]

◆ operator()() [51/70]

◆ operator()() [52/70]

◆ operator()() [53/70]

◆ operator()() [54/70]

◆ operator()() [55/70]

◆ operator()() [56/70]

◆ operator()() [57/70]

◆ operator()() [58/70]

◆ operator()() [59/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5 ) const
inline

◆ operator()() [60/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6 ) const
inline

◆ operator()() [61/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7 ) const
inline

◆ operator()() [62/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8 ) const
inline

◆ operator()() [63/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9 ) const
inline

◆ operator()() [64/70]

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::operator() ( Range r0,
Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9,
Range r10 ) const
inline

◆ operator()() [65/70]

◆ operator()() [66/70]

◆ operator()() [67/70]

◆ operator()() [68/70]

◆ operator()() [69/70]

◆ operator()() [70/70]

◆ operator*=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator*=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator*=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator+=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator+=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator+=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator-=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator-=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator-=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator/=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator/=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator/=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator<<=() [1/3]

template<typename P_numtype , int N_rank>
template<typename T_expr >
T_array & blitz::Array< P_numtype, N_rank >::operator<<= ( BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
inline

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator<<=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator<<=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator=() [1/4]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator=() [2/4]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator=() [3/4]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator=() [4/4]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

References blitz::MemoryBlockReference< P_numtype >::MemoryBlockReference().

◆ operator>>=() [1/3]

template<typename P_numtype , int N_rank>
template<typename T_expr >
T_array & blitz::Array< P_numtype, N_rank >::operator>>= ( BZ_ETPARM(_bz_ArrayExpr< T_expr >) expr)
inline

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator>>=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator>>=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator[]() [1/5]

◆ operator[]() [2/5]

◆ operator[]() [3/5]

◆ operator[]() [4/5]

◆ operator[]() [5/5]

◆ operator^=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator^=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator^=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator|=() [1/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator|=() [2/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ operator|=() [3/3]

Scalar operand assignment.

Todo

Need a precondition check on isStorageContiguous when operator, is used.

We should do bounds checking, right now we will buffer overrun if the number of initializers in the list is larger than numElements.

◆ ordering() [1/2]

template<typename P_numtype , int N_rank>
const TinyVector< int, N_rank > & blitz::Array< P_numtype, N_rank >::ordering ( ) const
inline

◆ ordering() [2/2]

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::ordering ( int storageRankIndex) const
inline

◆ rank()

◆ reference()

◆ reindex()

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::reindex ( const TinyVector< int, N_rank > & )

◆ reindexSelf()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::reindexSelf ( const TinyVector< int, N_rank > & )

◆ resize() [1/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( const TinyVector< int, N_rank > & )

◆ resize() [2/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent)

◆ resize() [3/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2 )

◆ resize() [4/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3 )

◆ resize() [5/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4 )

◆ resize() [6/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5 )

◆ resize() [7/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6 )

◆ resize() [8/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7 )

◆ resize() [9/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8 )

◆ resize() [10/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9 )

◆ resize() [11/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9,
int extent10 )

◆ resize() [12/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9,
int extent10,
int extent11 )

◆ resize() [13/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1)

◆ resize() [14/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2 )

◆ resize() [15/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3 )

◆ resize() [16/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4 )

◆ resize() [17/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5 )

◆ resize() [18/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6 )

◆ resize() [19/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7 )

◆ resize() [20/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8 )

◆ resize() [21/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9 )

◆ resize() [22/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9,
Range r10 )

◆ resize() [23/23]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resize ( Range r1,
Range r2,
Range r3,
Range r4,
Range r5,
Range r6,
Range r7,
Range r8,
Range r9,
Range r10,
Range r11 )

◆ resizeAndPreserve() [1/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( const TinyVector< int, N_rank > & )

◆ resizeAndPreserve() [2/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent)

◆ resizeAndPreserve() [3/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2 )

◆ resizeAndPreserve() [4/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3 )

◆ resizeAndPreserve() [5/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4 )

◆ resizeAndPreserve() [6/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5 )

◆ resizeAndPreserve() [7/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6 )

◆ resizeAndPreserve() [8/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7 )

◆ resizeAndPreserve() [9/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8 )

◆ resizeAndPreserve() [10/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9 )

◆ resizeAndPreserve() [11/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9,
int extent10 )

◆ resizeAndPreserve() [12/12]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::resizeAndPreserve ( int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
int extent7,
int extent8,
int extent9,
int extent10,
int extent11 )

◆ reverse()

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::reverse ( int rank)

◆ reverseSelf()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::reverseSelf ( int rank)

◆ rows()

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::rows ( ) const
inline

◆ setStorage()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::setStorage ( GeneralArrayStorage< N_rank > )

◆ setupStorage()

◆ shape()

◆ size()

◆ slice() [1/4]

template<typename P_numtype , int N_rank>
template<int N_rank2>
void blitz::Array< P_numtype, N_rank >::slice ( int & ,
nilArraySection ,
Array< T_numtype, N_rank2 > & ,
TinyVector< int, N_rank2 > & ,
int  )
inlineprotected

◆ slice() [2/4]

template<typename P_numtype , int N_rank>
template<int N_rank2>
void blitz::Array< P_numtype, N_rank >::slice ( int & setRank,
int i,
Array< T_numtype, N_rank2 > & array,
TinyVector< int, N_rank2 > & rankMap,
int sourceRank )
protected

◆ slice() [3/4]

template<typename P_numtype , int N_rank>
template<int N_rank2>
void blitz::Array< P_numtype, N_rank >::slice ( int & setRank,
Range r,
Array< T_numtype, N_rank2 > & array,
TinyVector< int, N_rank2 > & rankMap,
int sourceRank )
protected

◆ slice() [4/4]

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::slice ( int rank,
Range r )

◆ storageSize()

template<typename P_numtype , int N_rank>
sizeType blitz::Array< P_numtype, N_rank >::storageSize ( ) const
inline

Returns the length of the array storage.

This can be larger than the number of elements due to padding to meet alignment requirements. If you want to extract the array data to, for example, write it to disk, this is the size of the block needed.

Todo
Is this safe if there is no block?

References blitz::MemoryBlockReference< P_numtype >::blockLength().

◆ stride() [1/2]

◆ stride() [2/2]

◆ threadLocal()

template<typename P_numtype , int N_rank>
bool blitz::Array< P_numtype, N_rank >::threadLocal ( bool disableLock = true) const
inline

◆ transpose()

template<typename P_numtype , int N_rank>
T_array blitz::Array< P_numtype, N_rank >::transpose ( int r0,
int r1,
int r2 = 0,
int r3 = 0,
int r4 = 0,
int r5 = 0,
int r6 = 0,
int r7 = 0,
int r8 = 0,
int r9 = 0,
int r10 = 0 ) const

◆ transposeSelf()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::transposeSelf ( int r0,
int r1,
int r2 = 0,
int r3 = 0,
int r4 = 0,
int r5 = 0,
int r6 = 0,
int r7 = 0,
int r8 = 0,
int r9 = 0,
int r10 = 0 )

◆ ubound() [1/2]

◆ ubound() [2/2]

◆ weakReference()

template<typename P_numtype , int N_rank>
void blitz::Array< P_numtype, N_rank >::weakReference ( const T_array & )

◆ zeroOffset()

template<typename P_numtype , int N_rank>
int blitz::Array< P_numtype, N_rank >::zeroOffset ( ) const
inline

Member Data Documentation

◆ length_

template<typename P_numtype , int N_rank>
TinyVector<int, N_rank> blitz::Array< P_numtype, N_rank >::length_
protected

Referenced by blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::cols(), blitz::Array< P_numtype, N_rank >::columns(), blitz::Array< P_numtype, N_rank >::dataFirstOffset(), blitz::Array< P_numtype, N_rank >::depth(), blitz::Array< P_numtype, N_rank >::extent(), blitz::Array< P_numtype, N_rank >::extent(), blitz::Array< P_numtype, N_rank >::free(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRange(), blitz::Array< P_numtype, N_rank >::isInRangeForDim(), blitz::Array< P_numtype, N_rank >::length(), blitz::Array< P_numtype, N_rank >::length(), blitz::Array< P_numtype, N_rank >::numElements(), blitz::Array< P_numtype, N_rank >::rows(), blitz::Array< P_numtype, N_rank >::shape(), and blitz::Array< P_numtype, N_rank >::ubound().

◆ rank_

◆ storage_

template<typename P_numtype , int N_rank>
GeneralArrayStorage<N_rank> blitz::Array< P_numtype, N_rank >::storage_
protected

Referenced by blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::assertInRange(), blitz::Array< P_numtype, N_rank >::base(), blitz::Array< P_numtype, N_rank >::base(), blitz::Array< P_numtype, N_rank >::dataFirstOffset(), blitz::Array< P_numtype, N_rank >::dataOffset(), blitz::Array< P_numtype, N_rank >::isMajorRank(), blitz::Array< P_numtype, N_rank >::isMinorRank(), blitz::Array< P_numtype, N_rank >::isRankStoredAscending(), blitz::Array< P_numtype, N_rank >::ordering(), and blitz::Array< P_numtype, N_rank >::ordering().

◆ stride_

template<typename P_numtype , int N_rank>
TinyVector<diffType, N_rank> blitz::Array< P_numtype, N_rank >::stride_
protected

Referenced by blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::Array(), blitz::Array< P_numtype, N_rank >::dataFirstOffset(), blitz::Array< P_numtype, N_rank >::dataOffset(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::operator()(), blitz::Array< P_numtype, N_rank >::stride(), and blitz::Array< P_numtype, N_rank >::stride().

◆ zeroOffset_


The documentation for this class was generated from the following file: