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