comparison gcc/testsuite/g++.dg/ext/integer-pack3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 // PR c++/85049
2 // { dg-do compile { target c++11 } }
3
4 typedef __SIZE_TYPE__ size_t;
5 template<typename _Tp, _Tp... _Idx>
6 struct integer_sequence
7 {
8 typedef _Tp value_type;
9 static constexpr size_t size() noexcept { return sizeof...(_Idx); }
10 };
11 template<typename _Tp, _Tp _Num>
12 using make_integer_sequence = integer_sequence<_Tp, __integer_pack(_Num)...>;
13 template<size_t _Num>
14 using make_index_sequence = make_integer_sequence<size_t, _Num>;
15 template<typename... _Types>
16 using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
17 template <typename...>
18 struct tuple {};
19 template <typename... Ts>
20 int get(tuple<index_sequence_for<Ts...>, Ts...>);
21 int x = get(tuple<index_sequence_for<>>{});