23 #ifndef NDARRAY_ArrayBaseN_h_INCLUDED
24 #define NDARRAY_ArrayBaseN_h_INCLUDED
39 template <typename Derived, int N = ArrayBase<Derived>::ND::value>
48 template <
typename T_,
int N_,
int C_>
friend class Array;
49 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
61 template <
typename Derived>
75 template <
typename T_,
int N_,
int C_>
friend class Array;
76 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
87 template <
typename Derived>
101 template <
typename T_,
int N_,
int C_>
friend class Array;
102 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
113 template <
typename Derived>
127 template <
typename T_,
int N_,
int C_>
friend class Array;
128 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
139 template <
typename Derived>
153 template <
typename T_,
int N_,
int C_>
friend class Array;
154 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
165 template <
typename Derived>
179 template <
typename T_,
int N_,
int C_>
friend class Array;
180 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
191 template <
typename Derived>
205 template <
typename T_,
int N_,
int C_>
friend class Array;
206 template <
typename T_,
int N_,
int C_>
friend class ArrayRef;
216 #endif // !NDARRAY_ArrayBaseN_h_INCLUDED
A proxy class for Array with deep assignment operators.
ArrayBase< Derived > Super
ArrayBaseN(Element *data, CorePtr const &core)
ArrayBase< Derived > Super
ArrayBaseN(Element *data, CorePtr const &core)
void operator=(ArrayBase const &other)
ArrayBaseN(Element *data, CorePtr const &core)
void operator=(ArrayBaseN const &other)
Element & operator()(int n0, int n1, int n2, int n3, int n4) const
void operator=(ArrayBaseN const &other)
ExpressionTraits< Derived >::Element Element
Data type of expression elements.
ArrayBaseN(Element *data, CorePtr const &core)
Element & operator()(int n0, int n1) const
ArrayBase< Derived > Super
ArrayBaseN(Element *data, CorePtr const &core)
An intermediate CRTP base class for Array and ArrayRef.
Vector< T, N > makeVector(T v1, T v2,..., T vN)
Variadic constructor for Vector.
CRTP implementation for Array and ArrayRef.
void operator=(ArrayBaseN const &other)
ArrayBaseN(Element *data, CorePtr const &core)
A multidimensional strided array.
ArrayBase< Derived > Super
Traits::Element Element
Data type of array elements.
Element & operator()(int n0, int n1, int n2, int n3, int n4, int n5) const
void operator=(ArrayBaseN const &other)
Element & operator()(int n0) const
Element & operator()(int n0, int n1, int n2) const
Definitions for ArrayBase.
ArrayBaseN(Element *data, CorePtr const &core)
ArrayBase< Derived > Super
void operator=(ArrayBaseN const &other)
void operator=(ArrayBaseN const &other)
void operator=(ArrayBaseN const &other)
Element & operator()(int n0, int n1, int n2, int n3) const
ArrayBase< Derived > Super
Reference operator[](int n) const
Return a single subarray.
ArrayBase< Derived > Super