summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/variadic8.C
blob: c3a1340cf264230fdcdeaa513482bbc01dc97011 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { dg-options "-std=gnu++0x" }
template<typename... Args>
struct tuple_base {
  static const int value = 0;
};

template<>
struct tuple_base<int*>
{
  static const int value = 1;
};

template<typename T>
struct tuple_base<T*>
{
  static const int value = 2;
};

template<typename... Args>
struct tuple_of_pointers : tuple_base<Args*...> { };

int a1[tuple_of_pointers<int>::value == 1? 1 : -1];
int a2[tuple_of_pointers<float>::value == 2? 1 : -1];