Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/udlit-general.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 run { target c++11 } } // Test user-defined literals. // Test simple operator declaration and definition. #include <cstring> #include <string> #include <complex> #include <cassert> long double operator"" _v(long double); std::string operator"" _w(const char16_t*, size_t); unsigned operator"" _w(const char*); std::complex<double> operator"" _i(long double y) { return std::complex<double>(0.0L, y); } void test1() { long double x = operator"" _v(1.2L); assert(x == 2.2L); std::string s = operator"" _w(u"one", 3); assert(s == "boo"); unsigned u = operator"" _w("Hello, World!"); assert(u == 13U); std::complex<double> i = operator"" _i(2.0); assert(i == std::complex<double>(0.0, 2.0)); } int main() { test1(); } long double operator"" _v(long double x) { return x + 1.0L; } std::string operator"" _w(const char16_t*, size_t) { return std::string("boo"); } unsigned operator"" _w(const char* str) { return strlen(str); }