Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <array>
- #include <type_traits>
- namespace details {
- template<typename ValueType, std::size_t... Dimensions>
- struct make_multidimensional_array;
- template<typename ValueType, std::size_t Head, std::size_t... Tail>
- struct make_multidimensional_array<ValueType, Head, Tail...> {
- using nested = typename make_multidimensional_array<ValueType, Tail...>::type;
- using type = std::array<nested, Head>;
- };
- template<typename ValueType, std::size_t Head>
- struct make_multidimensional_array<ValueType, Head> {
- using type = std::array<ValueType, Head>;
- };
- }
- template<typename Type, std::size_t... Dimensions>
- using array = typename details::make_multidimensional_array<Type, Dimensions...>::type;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement