1 template <class T, T... I> 2 struct Seq { 3 static constexpr T PackSize = sizeof...(I); 4 }; 5 6 template <typename T, T N> 7 using MakeSeq = __make_integer_seq<Seq, T, N>; 8 9 10 using SizeT = decltype(sizeof(int)); 11 12 template <SizeT i, typename ...T> 13 using TypePackElement = __type_pack_element<i, T...>; 14 15 template <int i> 16 struct X; 17