#include <string>
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::string s1 = "Hello World!"_s;
std::u16string s2 = "Hello World!"_u;
std::u32string s3 = "Hello World!"_U;
std::wstring s4 = "Hello World!"_L;
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KCnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXI+IG9wZXJhdG9yICIiX3MoY29uc3QgY2hhciAqIHN0ciwgc3RkOjpzaXplX3QgbGVuKSB7CglyZXR1cm4gc3RkOjpiYXNpY19zdHJpbmc8Y2hhcj4gKHN0ciwgc3RyICsgbGVuKTsKfQoKc3RkOjpiYXNpY19zdHJpbmc8Y2hhcjE2X3Q+IG9wZXJhdG9yICIiX3UoY29uc3QgY2hhciAqIHN0ciwgc3RkOjpzaXplX3QgbGVuKSB7CglyZXR1cm4gc3RkOjpiYXNpY19zdHJpbmc8Y2hhcjE2X3Q+IChzdHIsIHN0ciArIGxlbik7Cn0KCnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIzMl90PiBvcGVyYXRvciAiIl9VKGNvbnN0IGNoYXIgKiBzdHIsIHN0ZDo6c2l6ZV90IGxlbikgewoJcmV0dXJuIHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIzMl90PiAoc3RyLCBzdHIgKyBsZW4pOwp9CgpzdGQ6OmJhc2ljX3N0cmluZzx3Y2hhcl90PiBvcGVyYXRvciAiIl9MKGNvbnN0IGNoYXIgKiBzdHIsIHN0ZDo6c2l6ZV90IGxlbikgewoJcmV0dXJuIHN0ZDo6YmFzaWNfc3RyaW5nPHdjaGFyX3Q+IChzdHIsIHN0ciArIGxlbik7Cn0KCgppbnQgbWFpbigpIHsKICAgIHN0ZDo6c3RyaW5nIHMxICAgID0gIkhlbGxvIFdvcmxkISJfczsKICAgIHN0ZDo6dTE2c3RyaW5nIHMyID0gIkhlbGxvIFdvcmxkISJfdTsKICAgIHN0ZDo6dTMyc3RyaW5nIHMzID0gIkhlbGxvIFdvcmxkISJfVTsKICAgIHN0ZDo6d3N0cmluZyBzNCAgID0gIkhlbGxvIFdvcmxkISJfTDsKICAgIHJldHVybiAwOwp9