QDP++
QDP::multi5d< T > Class Template Reference

Container for a multi-dimensional 5D array. More...

#include <qdp_multi.h>

Public Member Functions

 multi5d ()
 multi5d (T *f, int ns5, int ns4, int ns3, int ns2, int ns1)
 multi5d (int ns4, int ns3, int ns2, int ns1)
 ~multi5d ()
 multi5d (const multi5d &s)
 Copy constructor.
void resize (int ns5, int ns4, int ns3, int ns2, int ns1)
 Allocate mem for the array.
int size1 () const
 Size of array.
int size2 () const
int size3 () const
int size4 () const
int size5 () const
multi5d< T > & operator= (const multi5d< T > &s1)
 Equal operator uses underlying = of T.
template<class T1>
multi5d< T > & operator= (const T1 &s1)
 Equal operator uses underlying = of T.
const T * slice (int m, int l, int k, int j) const
 Return ref to a column slice.
T & operator() (int m, int l, int k, int j, int i)
 Return ref to an element.
const T & operator() (int m, int l, int k, int j, int i) const
 Return const ref to an element.
multi4d< T > operator[] (int m)
 Return ref to an element.
const multi4d< T > operator[] (int m) const
 Return const ref to an element.

Detailed Description

template<class T>
class QDP::multi5d< T >

Container for a multi-dimensional 5D array.

Definition at line 927 of file qdp_multi.h.

Constructor & Destructor Documentation

◆ multi5d() [1/4]

template<class T>
QDP::multi5d< T >::multi5d ( )
inline

Definition at line 930 of file qdp_multi.h.

Referenced by multi5d(), operator=(), and operator=().

◆ multi5d() [2/4]

template<class T>
QDP::multi5d< T >::multi5d ( T * f,
int ns5,
int ns4,
int ns3,
int ns2,
int ns1 )
inline

Definition at line 931 of file qdp_multi.h.

◆ multi5d() [3/4]

template<class T>
QDP::multi5d< T >::multi5d ( int ns4,
int ns3,
int ns2,
int ns1 )
inlineexplicit

Definition at line 932 of file qdp_multi.h.

References resize().

◆ ~multi5d()

template<class T>
QDP::multi5d< T >::~multi5d ( )
inline

Definition at line 933 of file qdp_multi.h.

◆ multi5d() [4/4]

template<class T>
QDP::multi5d< T >::multi5d ( const multi5d< T > & s)
inline

Copy constructor.

Definition at line 936 of file qdp_multi.h.

References multi5d(), and resize().

Member Function Documentation

◆ operator()() [1/2]

template<class T>
T & QDP::multi5d< T >::operator() ( int m,
int l,
int k,
int j,
int i )
inline

Return ref to an element.

Definition at line 1000 of file qdp_multi.h.

◆ operator()() [2/2]

template<class T>
const T & QDP::multi5d< T >::operator() ( int m,
int l,
int k,
int j,
int i ) const
inline

Return const ref to an element.

Definition at line 1003 of file qdp_multi.h.

◆ operator=() [1/2]

template<class T>
multi5d< T > & QDP::multi5d< T >::operator= ( const multi5d< T > & s1)
inline

Equal operator uses underlying = of T.

Definition at line 972 of file qdp_multi.h.

References multi5d(), resize(), size1(), size2(), size3(), size4(), and size5().

◆ operator=() [2/2]

template<class T>
template<class T1>
multi5d< T > & QDP::multi5d< T >::operator= ( const T1 & s1)
inline

Equal operator uses underlying = of T.

Definition at line 983 of file qdp_multi.h.

References multi5d().

◆ operator[]() [1/2]

template<class T>
multi4d< T > QDP::multi5d< T >::operator[] ( int m)
inline

Return ref to an element.

Definition at line 1006 of file qdp_multi.h.

◆ operator[]() [2/2]

template<class T>
const multi4d< T > QDP::multi5d< T >::operator[] ( int m) const
inline

Return const ref to an element.

Definition at line 1009 of file qdp_multi.h.

◆ resize()

template<class T>
void QDP::multi5d< T >::resize ( int ns5,
int ns4,
int ns3,
int ns2,
int ns1 )
inline

Allocate mem for the array.

Definition at line 945 of file qdp_multi.h.

References QDP::QDP_error_exit().

Referenced by multi5d(), multi5d(), operator=(), and QDP::read().

◆ size1()

template<class T>
int QDP::multi5d< T >::size1 ( ) const
inline

Size of array.

Definition at line 965 of file qdp_multi.h.

Referenced by operator=(), QDP::read(), and QDP::write().

◆ size2()

template<class T>
int QDP::multi5d< T >::size2 ( ) const
inline

Definition at line 966 of file qdp_multi.h.

Referenced by operator=(), QDP::read(), and QDP::write().

◆ size3()

template<class T>
int QDP::multi5d< T >::size3 ( ) const
inline

Definition at line 967 of file qdp_multi.h.

Referenced by operator=(), QDP::read(), and QDP::write().

◆ size4()

template<class T>
int QDP::multi5d< T >::size4 ( ) const
inline

Definition at line 968 of file qdp_multi.h.

Referenced by operator=(), QDP::read(), and QDP::write().

◆ size5()

template<class T>
int QDP::multi5d< T >::size5 ( ) const
inline

Definition at line 969 of file qdp_multi.h.

Referenced by operator=(), QDP::read(), and QDP::write().

◆ slice()

template<class T>
const T * QDP::multi5d< T >::slice ( int m,
int l,
int k,
int j ) const
inline

Return ref to a column slice.

Definition at line 997 of file qdp_multi.h.


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