1  #pragma GCC system_header
       2  
       3  #include <string>
       4  
       5  inline namespace my_string_literals
       6  {
       7    std::string
       8    operator"" s(const char* str, std::size_t len)
       9    { return std::string{str, len}; }
      10  
      11  #if __cpp_lib_char8_t
      12    std::u8string
      13    operator"" s(const char8_t* str, std::size_t len)
      14    { return std::u8string{str, len}; }
      15  #endif
      16  
      17    std::wstring
      18    operator"" s(const wchar_t* str, std::size_t len)
      19    { return std::wstring{str, len}; }
      20  
      21    std::u16string
      22    operator"" s(const char16_t* str, std::size_t len)
      23    { return std::u16string{str, len}; }
      24  
      25    std::u32string
      26    operator"" s(const char32_t* str, std::size_t len)
      27    { return std::u32string{str, len}; }
      28  }