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
37 #if _LIBCPP_HAS_CHAR8_T
40 #if _LIBCPP_HAS_WIDE_CHARACTERS
44 // [string.conversions], numeric conversions
54 #if _LIBCPP_HAS_WIDE_CHARACTERS
55 using std::to_wstring;
59 using std::pmr::basic_string;
60 using std::pmr::string;
61 using std::pmr::u16string;
62 using std::pmr::u32string;
63 #if _LIBCPP_HAS_CHAR8_T
64 using std::pmr::u8string;
66 #if _LIBCPP_HAS_WIDE_CHARACTERS
67 using std::pmr::wstring;
71 // [basic.string.hash], hash support
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