Библиотека предоставляет шаблон класса, который может представлять целочисленную последовательность. При использовании в качестве аргумента для шаблона функции пакет параметров, определяющий последовательность, может быть выведен и использован в расширении пакета. [ Шаблон псевдонима предусмотрен для общего случая целочисленной последовательности типа ; см. также . ] Note: index_sequence size_t [tuple.apply] — end note
namespace std { template<class T, T... I> struct integer_sequence { using value_type = T; static constexpr size_t size() noexcept { return sizeof...(I); } }; }
template<class T, T N>
using make_integer_sequence = integer_sequence<T, see below>;
Если N отрицательный, программа неправильно сформирована. Шаблон псевдонима make_integer_sequence обозначает специализацию integer_sequence с N аргументами, не относящимися к типу. Тип make_integer_sequence<T, N> обозначает тип integer_sequence<T, 0, 1, ..., N-1>. [ Note: make_integer_sequence<int, 0> обозначает тип ] integer_sequence<int> — end note