xref: /freebsd/contrib/llvm-project/libcxx/modules/std/string.inc (revision a90b9d0159070121c221b966469c3e36d912bf82)
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//===----------------------------------------------------------------------===//
9
10export namespace std {
11  // [char.traits], character traits
12  using std::char_traits;
13
14  // [basic.string], basic_string
15  using std::basic_string;
16
17  using std::operator+;
18  using std::operator==;
19  using std::operator<=>;
20
21  // [string.special], swap
22  using std::swap;
23
24  // [string.io], inserters and extractors
25  using std::operator>>;
26  using std::operator<<;
27  using std::getline;
28
29  // [string.erasure], erasure
30  using std::erase;
31  using std::erase_if;
32
33  // basic_string typedef-names
34  using std::string;
35  using std::u16string;
36  using std::u32string;
37#ifndef _LIBCPP_HAS_NO_CHAR8_T
38  using std::u8string;
39#endif
40#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
41  using std::wstring;
42#endif
43
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#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
55  using std::to_wstring;
56#endif
57
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#ifndef _LIBCPP_HAS_NO_CHAR8_T
64    using std::pmr::u8string;
65#endif
66#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
67    using std::pmr::wstring;
68#endif
69  } // namespace pmr
70
71  // [basic.string.hash], hash support
72  using std::hash;
73
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
81