Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/variadic-tuple2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// PR c++/67164 // { dg-do compile { target c++11 } } #include <type_traits> namespace detail { template <bool ...b> struct fast_and : std::is_same<fast_and<b...>, fast_and<(b, true)...>> { }; } template <typename ...Xn> struct tuple { tuple() { } template <typename ...Yn, typename = typename std::enable_if< detail::fast_and<std::is_constructible<Xn, Yn&&>::value...>::value >::type> tuple(Yn&& ...yn) { } template <typename ...Yn, typename = typename std::enable_if< detail::fast_and<std::is_constructible<Xn, Yn const&>::value...>::value >::type> tuple(tuple<Yn...> const& other) { } }; tuple<tuple<>> t{}; tuple<tuple<>> copy = t;