Nested Initializer Lists¶
#include <m3ta/nestedinitializerlists>
A given type wrapped within a number of nested std::initializer_list.
In other words, m3ta::NestedInitializerListsT<int, 2> is the same as std::initializer_list<std::initializer_list<int>>.
Traits¶
- m3ta::NestedInitializerLists
template<typename T, std::size_t T_levels> struct NestedInitializerLists
Template Parameters: - T – Inner type.
- T_levels – Number of std::initializer_list wrapping the type T.
Member Types
- type
The type of the outer std::initializer_list. Returns T if T_levels is 0.
Aliases¶
- m3ta::NestedInitializerListsT
template<typename T, std::size_t T_levels> using NestedInitializerListsT = typename NestedInitializerLists<T, T_levels>::type;
Usage Examples¶
using Type1 = m3ta::NestedInitializerListsT<int, 0>; // int
using Type2 = m3ta::NestedInitializerListsT<int, 1>; // std::initializer_list<int>
using Type3 = m3ta::NestedInitializerListsT<int, 2>; // std::initializer_list<std::initializer_list<int>>