2 //===----------------------------------------------------------------------===//
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 export namespace std {
11 // [char.traits], character traits
12 using std::char_traits;
14 // [basic.string], basic_string
15 using std::basic_string;
18 using std::operator==;
19 using std::operator<=>;
21 // [string.special], swap
24 // [string.io], inserters and extractors
25 using std::operator>>;
26 using std::operator<<;
29 // [string.erasure], erasure
33 // basic_string typedef-names
38 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
42 // [string.conversions], numeric conversions
52 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
53 using std::to_wstring;
57 using std::pmr::basic_string;
58 using std::pmr::string;
59 using std::pmr::u16string;
60 using std::pmr::u32string;
61 using std::pmr::u8string;
62 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
63 using std::pmr::wstring;
67 // [basic.string.hash], hash support
70 // TODO MODULES is this a bug?
71 #if _LIBCPP_STD_VER >= 23
72 using std::operator""s;
74 inline namespace literals {
75 inline namespace string_literals {
76 // [basic.string.literals], suffix for basic_string literals
77 using std::literals::string_literals::operator""s;
78 } // namespace string_literals
79 } // namespace literals