13 #include <type_traits> 66 template<
typename T, T... Ints>
72 static constexpr std::size_t
size(
void) noexcept
74 return sizeof...(Ints);
79 template<
typename T,
int N, T... Ints>
80 struct GenSeq : GenSeq<T, N-1, T(N-1), Ints...> {};
82 template<
typename T, T... Ints>
83 struct GenSeq<T, 0, Ints...>
93 template<std::size_t... Ints>
101 template<
typename T, T N>
108 template<std::
size_t N>
115 template<
typename... T>
123 template<
typename BaseType,
typename OtherType>
125 not std::is_same<BaseType, typename std::decay<OtherType>::type>::value>
::type;
make_index_sequence< sizeof...(T)> index_sequence_for
Definition: Templates.hpp:116
make_integer_sequence< std::size_t, N > make_index_sequence
Definition: Templates.hpp:109
T & type
the type held within a reference wrapper
Definition: Templates.hpp:43
Definition: Templates.hpp:67
Definition: ArchiveEntry.hpp:20
typename GenSeq< T, int(N)>::Type make_integer_sequence
Definition: Templates.hpp:102
typename std::enable_if< not std::is_same< BaseType, typename std::decay< OtherType >::type >::value >::type disable_if_same
Definition: Templates.hpp:125
static constexpr std::size_t size(void) noexcept
The size of the integer pack.
Definition: Templates.hpp:72
typename unwrap_refwrapper< typename std::decay< T >::type >::type special_decay_t
Definition: Templates.hpp:51
T value_type
The type of each integer.
Definition: Templates.hpp:69
T type
the input type of non-reference wrappers
Definition: Templates.hpp:33
Definition: Templates.hpp:31