111
|
1 // { dg-do run { target c++14 } }
|
145
|
2 // { dg-options -w }
|
111
|
3
|
|
4 #include <cassert>
|
|
5
|
|
6 template<bool, typename _Tp = void>struct enable_if {};
|
|
7 template<typename _Tp> struct enable_if<true, _Tp> { typedef _Tp type; };
|
|
8
|
|
9
|
|
10 template<typename CharT, CharT... String>
|
|
11 typename enable_if<sizeof...(String) == 6, int>::type operator"" _script () {
|
|
12 return 5;
|
|
13 }
|
|
14
|
|
15 template<typename CharT, CharT... String>
|
|
16 typename enable_if<sizeof...(String) == 3, int>::type operator"" _script () {
|
|
17 return 3;
|
|
18 }
|
|
19
|
|
20 template<typename CharT, CharT... String>
|
|
21 typename enable_if<sizeof...(String) != 3 && sizeof...(String) != 6, int>::type operator"" _script () {
|
|
22 return 1;
|
|
23 }
|
|
24
|
|
25 int main ()
|
|
26 {
|
|
27 assert ("hello!"_script == 5);
|
|
28 assert (u8"hi!"_script == 3);
|
|
29 assert ("hey!"_script == 1);
|
|
30 }
|