#include <ix.h>
Public Member Functions | |
construction | |
Ix () | |
Ix (T i0) | |
Ix (const Ix &i0) | |
construction from sequence of elements | |
Ix (T0 i0, T0 i1) | |
Ix (T0 i0, T0 i1, T0 i2) | |
Ix (T0 i0, T0 i1, T0 i2, T0 i3) | |
Ix (T0 i0, T0 i1, T0 i2, T0 i3, T0 i4) | |
Ix (T0 i0, T0 i1, T0 i2, T0 i3, T0 i4, T0 i5) | |
const | |
T0 | operator[] (DIMT n) const |
bool | operator== (const T &src) const |
bool | operator== (const Ix &src) const |
bool | operator!= (const T &src) const |
bool | operator!= (const Ix &src) const |
template<DIMT LEN> | |
Ix< LEN, T0 > | Sub (DIMT start=0) const |
nonconst | |
T0 & | operator[] (DIMT n) |
Ix & | operator= (T src) |
template<class TT> | |
Ix & | operator+= (const Ix< N, TT > &src) |
Ix & | operator+= (const T &src) |
template<class TT> | |
Ix & | operator-= (const Ix< N, TT > &src) |
Ix & | operator-= (const T &src) |
Ix & | operator*= (const T &src) |
Ix & | operator/= (const T &src) |
template<int N1> | |
Ix & | Concat (const Ix< N1, T0 > &p1, const Ix< N-N1, T0 > &p2) |
template<int M> | |
Ix< N+M, T0 > | operator| (const Ix< M, T0 > &p2) const |
Use this object for small vectors where the length of the vector is known at compile time. (It is possible to use it for larger datasets too, but it should be noted that all data is allocated on the stack, no dynamic memory is allocated by these objects).
Default constructor. Just creates the vector without initializing the elements
Constructor which inializes all elements with scalar (copied into all elements).
Copy constructor. Copies elementwise
Constructor from two integers (only compiles for Ix<2,T>)
Constructor from three integers (only compiles for Ix<3,T>)
Constructor from four integers (only compiles for Ix<4,T>)
Constructor from five integers (only compiles for Ix<5,T>)
esso::Ix< N, T0 >::Ix | ( | T0 | i0, | |
T0 | i1, | |||
T0 | i2, | |||
T0 | i3, | |||
T0 | i4, | |||
T0 | i5 | |||
) | [inline] |
Constructor from six integers (only compiles for Ix<6,T>)
Elementwise access
Reimplemented in esso::Permutation< N >.
bool esso::Ix< N, T0 >::operator== | ( | const T & | src | ) | const [inline] |
bool esso::Ix< N, T0 >::operator== | ( | const Ix< N, T0 > & | src | ) | const [inline] |
bool esso::Ix< N, T0 >::operator!= | ( | const T & | src | ) | const [inline] |
bool esso::Ix< N, T0 >::operator!= | ( | const Ix< N, T0 > & | src | ) | const [inline] |
Assignment from scalar (value is copied into all elements)
Ix& esso::Ix< N, T0 >::operator+= | ( | const Ix< N, TT > & | src | ) | [inline] |
Addition
Addition with scalar
Ix& esso::Ix< N, T0 >::operator-= | ( | const Ix< N, TT > & | src | ) | [inline] |
Subtraction
Subtraction with scalar
Multiplication with scalar
Quotient with scalar
Ix& esso::Ix< N, T0 >::Concat | ( | const Ix< N1, T0 > & | p1, | |
const Ix< N-N1, T0 > & | p2 | |||
) | [inline] |
Concatenate two vectors i.e. if v1 has dim n1 and v2 has dim n2 then Concat(v1,v2)[n] == v1[n] if n<n1 and v2[n-n1] otherwise
Referenced by esso::Ix< N, short >::operator|().