blob: b7e7cdf825e875a0b240234f197315204954ae2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <array>
namespace nd_array {
template <typename T, int... NS> struct NDArrayFactory;
template <typename T, int N0, int... NS> struct NDArrayFactory<T, N0, NS...> {
using Array = std::array<typename NDArrayFactory<T, NS...>::Array, N0>;
};
template <typename T, int N0> struct NDArrayFactory<T, N0> {
using Array = std::array<T, N0>;
};
} // namespace nd_array
template <typename T, int... NS>
using NDArray = typename nd_array::NDArrayFactory<T, NS...>::Array;
|