blob: 85c71f61b02209accebf3473839e35f3645d06b7 [file] [log] [blame]
template <class T, T... I>
struct Seq {
static constexpr T PackSize = sizeof...(I);
};
template <typename T, T N>
using MakeSeq = __make_integer_seq<Seq, T, N>;
using SizeT = decltype(sizeof(int));
template <SizeT i, typename ...T>
using TypePackElement = __type_pack_element<i, T...>;
template <int i>
struct X;
using X0 = X<0>;
template <int I>
using SameAsX = X<I>;
template <template <class...> class Templ, class...Types>
using TypePackDedup = Templ<__builtin_dedup_pack<Types...>...>;
template <class ...Ts>
struct TypeList {};