diff options
Diffstat (limited to 'libstdc++-v3/include/bits/basic_string.h')
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 23bd9b9c096..a249df23742 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -3106,6 +3106,43 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#if __cplusplus > 201103L + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + +inline namespace literals { +inline namespace string_literals { + + inline basic_string<char> + operator"" s(const char* __str, size_t __len) + { return basic_string<char>{__str, __len}; } + +#ifdef _GLIBCXX_USE_WCHAR_T + inline basic_string<wchar_t> + operator"" s(const wchar_t* __str, size_t __len) + { return basic_string<wchar_t>{__str, __len}; } +#endif + +#ifdef _GLIBCXX_USE_C99_STDINT_TR1 + inline basic_string<char16_t> + operator"" s(const char16_t* __str, size_t __len) + { return basic_string<char16_t>{__str, __len}; } + + inline basic_string<char32_t> + operator"" s(const char32_t* __str, size_t __len) + { return basic_string<char32_t>{__str, __len}; } +#endif + +} // inline namespace string_literals +} // inline namespace literals + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std + +#endif // __cplusplus > 201103L + #endif // C++11 #endif /* _BASIC_STRING_H */ |