1 // { dg-do compile { target c++11 } }
3 template<typename...> struct tuple { };
5 template<template<typename T> class Meta, typename... Values>
8 typedef tuple<typename Meta<Values>::type...> type;
11 template<typename T, typename U>
13 static const bool value = false;
17 struct is_same<T, T> {
18 static const bool value = true;
22 struct add_reference {
27 struct add_reference<T&> {
31 static_assert(is_same<apply_all<add_reference, int, int&, float>::type,
32 tuple<int&, int&, float&> >::value,