Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/g++.dg/concepts/variadic2.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
rev | line source |
---|---|
111 | 1 // { dg-options "-std=c++17 -fconcepts" } |
2 | |
3 template <class T> concept bool Copyable = requires (T t) { T(t); }; | |
4 template <class T> concept bool Constructable = requires { T(); }; | |
5 template <class T> concept bool Both = Copyable<T> && Constructable<T>; | |
6 | |
7 template <Copyable... Ts> | |
8 constexpr int f(Ts...) { return 0; } // #1 | |
9 | |
10 template <Both... Ts> | |
11 constexpr int f(Ts...) { return 1; } // #2 | |
12 | |
13 int main() | |
14 { | |
15 static_assert(f(42) == 1); | |
16 } |