|
template<class T , size_t N, class G > |
Array< T, N > | generateArray (G generator) |
| Generate an array using the given generator.
|
|
template<size_t N, class G > |
auto | generateArray (G generator) -> Array< decltype(generator()), N > |
| Generate an array using the given generator.
|
|
template<class T , size_t N, class U > |
Array< T, N > | copyAs (const Array< U, N > &src) |
| Copy an Array to an Array of a different type.
|
|
template<class F , class U , size_t N> |
Array< decltype(F{}(U{})), N > | apply (const Array< U, N > &src, F f) |
| Apply a function to all elements of the array and return a copy.
|
|
template<class T , size_t N, class... Args> |
Array< T, N > | fillArray (Args... args) |
| Fill the array with the same value for each element.
|
|
template<class T , size_t N, class U , class V = U> |
Array< T, N > | generateIncrementalArray (U start=0, V increment=V(1)) |
| Generate an array where the first value is given, and the subsequent values are calculated as the previous value incremented with a given value:
\( x[0] = \mathrm{start} \)
\( x[k+1] = x[k] + \mathrm{increment} \) .
|
|
template<class T , size_t M, size_t N> |
Array< T, M+N > | cat (const Array< T, M > &a, const Array< T, N > &b) |
| Concatenate two arrays.
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
Array< decltype(T1() *T2()), N1+N2 - 1 > | distribute (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b) |
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1> |
Array< decltype(T1() *T2()), N1+N2 - 1 > | distribute (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const Array< T2, N2 > &b) |
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2> |
Array< decltype(T1() *T2()), N1+N2 - 1 > | distribute (const Array< T1, N1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b) |
|
template<class T1 , class T2 , size_t N1, size_t N2> |
Array< decltype(T1() *T2()), N1+N2 - 1 > | distribute (const Array< T1, N1 > &a, const Array< T2, N2 > &b) |
|
template<class T , size_t N, bool Reverse, bool Const> |
std::enable_if_t< std::is_arithmetic< T >::value, Print & > | operator<< (Print &os, const AH::ArraySlice< T, N, Reverse, Const > &a) |
|
template<class T , size_t N> |
std::enable_if_t< std::is_arithmetic< T >::value, Print & > | operator<< (Print &os, const AH::Array< T, N > &a) |
|