Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-ctad.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 // PR c++/88095 | |
2 // Test class non-type template parameters for literal operator templates. | |
3 // Validate support for class template argument deduction. | |
4 // { dg-do compile { target c++2a } } | |
5 | |
6 namespace std { | |
7 using size_t = decltype(sizeof(int)); | |
8 } | |
9 | |
10 template <typename CharT, std::size_t N> | |
11 struct fixed_string { | |
12 constexpr static std::size_t length = N; | |
13 constexpr fixed_string(...) { } | |
14 // auto operator<=> (const fixed_string&) = default; | |
15 }; | |
16 template <typename CharT, std::size_t N> | |
17 fixed_string(const CharT (&str)[N]) -> fixed_string<CharT, N>; | |
18 | |
19 template <fixed_string fs> | |
20 constexpr std::size_t operator"" _udl() { | |
21 return decltype(fs)::length; | |
22 } | |
23 | |
24 static_assert("test"_udl == 5); |