#include <string>
#include <iostream>
std::basic_string<char> operator ""_s(const char * str, std::size_t len) {
return std::basic_string<char> (str, str + len);
}
std::basic_string<char16_t> operator ""_u(const char * str, std::size_t len) {
return std::basic_string<char16_t> (str, str + len);
}
std::basic_string<char32_t> operator ""_U(const char * str, std::size_t len) {
return std::basic_string<char32_t> (str, str + len);
}
std::basic_string<wchar_t> operator ""_L(const char * str, std::size_t len) {
return std::basic_string<wchar_t> (str, str + len);
}
int main() {
std::wcout << std::wstring(L"Jérémy").size() << '-' << "Jérémy"_L.size() << std::endl;
std::wcout << L"Jérémy" << '-' << "Jérémy"_L << std::endl;
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgogCnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXI+IG9wZXJhdG9yICIiX3MoY29uc3QgY2hhciAqIHN0ciwgc3RkOjpzaXplX3QgbGVuKSB7CglyZXR1cm4gc3RkOjpiYXNpY19zdHJpbmc8Y2hhcj4gKHN0ciwgc3RyICsgbGVuKTsKfQogCnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIxNl90PiBvcGVyYXRvciAiIl91KGNvbnN0IGNoYXIgKiBzdHIsIHN0ZDo6c2l6ZV90IGxlbikgewoJcmV0dXJuIHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIxNl90PiAoc3RyLCBzdHIgKyBsZW4pOwp9CiAKc3RkOjpiYXNpY19zdHJpbmc8Y2hhcjMyX3Q+IG9wZXJhdG9yICIiX1UoY29uc3QgY2hhciAqIHN0ciwgc3RkOjpzaXplX3QgbGVuKSB7CglyZXR1cm4gc3RkOjpiYXNpY19zdHJpbmc8Y2hhcjMyX3Q+IChzdHIsIHN0ciArIGxlbik7Cn0KIApzdGQ6OmJhc2ljX3N0cmluZzx3Y2hhcl90PiBvcGVyYXRvciAiIl9MKGNvbnN0IGNoYXIgKiBzdHIsIHN0ZDo6c2l6ZV90IGxlbikgewoJcmV0dXJuIHN0ZDo6YmFzaWNfc3RyaW5nPHdjaGFyX3Q+IChzdHIsIHN0ciArIGxlbik7Cn0KIAogCmludCBtYWluKCkgewogICAgc3RkOjp3Y291dCA8PCBzdGQ6OndzdHJpbmcoTCJKw6lyw6lteSIpLnNpemUoKSA8PCAnLScgPDwgIkrDqXLDqW15Il9MLnNpemUoKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6Ondjb3V0IDw8IEwiSsOpcsOpbXkiIDw8ICctJyA8PCAiSsOpcsOpbXkiX0wgPDwgc3RkOjplbmRsOwogICAgcmV0dXJuIDA7Cn0=