The class template std::integer_sequence<Type, Values...> represents a sequence of values of type Type where Type is one of the built-in integer types. These sequences are used when implementing class or function templates which benefit from positional access. The standard library also contains “factory” types which create ascending sequences of integer values just from the number of elements.

Turn a std::tuple<T>... into function parameters

Create a parameter pack consisting of integers

Turn a sequence of indices into copies of an element