template<class T, T N>
using make_integer_sequence = integer_sequence<T, see below>;
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;
};
template<size_t I, class T, T... Values>
constexpr T get(integer_sequence<T, Values...>) noexcept;