Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/variadic-ex8.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
// { dg-do compile { target c++11 } } template<class> struct X { static const bool primary = true; }; template<class R, class... ArgTypes> struct X<R(int, ArgTypes...)> { static const bool primary = false; }; template<class... Types> struct Y { static const bool primary = true; }; template<class T, class... Types> struct Y<T, Types&...> { static const bool primary = false; }; static_assert (X<int>::primary, "uses primary template"); static_assert (!X<int(int, float, double)>::primary, "uses partial specialization"); static_assert (X<int(float, int)>::primary, "uses primary template"); static_assert (Y<>::primary, "uses primary template"); static_assert (!Y<int&, float&, double&>::primary, "uses partial specialization"); static_assert (Y<int, float, double>::primary, "uses primary template");