Add the initializes attribute inference (#117104)
[llvm-project.git] / libcxx / modules / std / string.inc
blob8e14be8dcbe41f52503573af97fc1d6276b5eb1a
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
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
7 //
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;
17   using std::operator+;
18   using std::operator==;
19   using std::operator<=>;
21   // [string.special], swap
22   using std::swap;
24   // [string.io], inserters and extractors
25   using std::operator>>;
26   using std::operator<<;
27   using std::getline;
29   // [string.erasure], erasure
30   using std::erase;
31   using std::erase_if;
33   // basic_string typedef-names
34   using std::string;
35   using std::u16string;
36   using std::u32string;
37 #if _LIBCPP_HAS_CHAR8_T
38   using std::u8string;
39 #endif
40 #if _LIBCPP_HAS_WIDE_CHARACTERS
41   using std::wstring;
42 #endif
44   // [string.conversions], numeric conversions
45   using std::stod;
46   using std::stof;
47   using std::stoi;
48   using std::stol;
49   using std::stold;
50   using std::stoll;
51   using std::stoul;
52   using std::stoull;
53   using std::to_string;
54 #if _LIBCPP_HAS_WIDE_CHARACTERS
55   using std::to_wstring;
56 #endif
58   namespace pmr {
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;
65 #endif
66 #if _LIBCPP_HAS_WIDE_CHARACTERS
67     using std::pmr::wstring;
68 #endif
69   } // namespace pmr
71   // [basic.string.hash], hash support
72   using std::hash;
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
80 } // namespace std