Repeat

Metafunction to create a Tuple with N repetitions of type T.

Defined in Rodin/Utility/Repeat.h

template <
  size_t N,
  class T>
struct Repeat;

Specializations

SpecializationDescription
0, T
Full specialization
template <
  class T>
struct Repeat<
  0,
  T>;
Specialization for N = 0.
1, T
Full specialization
template <
  class T>
struct Repeat<
  1,
  T>;
Specialization for N = 1.
Template parameters
N The number of repetitions (N > 1).
T The type to repeat.

General case for N > 1.

Repeat creates a Tuple containing N copies of type T. This is useful for generating homogeneous tuple types at compile time.

Example usage: // Repeat<3, int> exposes the tuple containing three int entries.

Recursively concatenates the one-element tuple with the repeated tail.

Public types

using Type = decltype(std::declval<Tuple<T>>().concatenate( std::declval<typename Repeat<N - 1, T>::Type>()))
Tuple containing N copies of T.