21 Metaprogramming library [meta]
21.2 Compile-time integer sequences [intseq]
template<class T, T... Values>
struct tuple_size<integer_sequence<T, Values...>>
: integral_constant<size_t, sizeof...(Values)> { };
template<size_t I, class T, T... Values>
struct tuple_element<I, integer_sequence<T, Values...>> {
using type = T;
};
template<size_t I, class T, T... Values>
struct tuple_element<I, const integer_sequence<T, Values...>> {
using type = T;
};
Mandates:
I < sizeof...(Values). template<size_t I, class T, T... Values>
constexpr T get(integer_sequence<T, Values...>) noexcept;
Mandates:
I < sizeof...(Values).