view gcc/testsuite/g++.dg/cpp0x/variadic116.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// Origin: PR c++/48320
// { dg-do compile { target c++11 } }

template<class... T>
struct tuple
{
    typedef int type;
};

template<int... Indices>
struct indices
{
};

template<unsigned i, class Tuple>
struct tuple_element
{
    typedef Tuple type;
};

template<class Tuple,
         int... Indices,
         class Result = tuple<typename tuple_element<Indices, Tuple>::type...> >
Result
f(Tuple&&, indices<Indices...>);


void
foo()
{
    f(tuple<int, char, unsigned> (), indices<2, 1, 0> ());
}