Lines Matching refs:basic_string

84 class basic_string
104 basic_string()
106 …explicit basic_string(const allocator_type& a); // con…
107 …basic_string(const basic_string& str); // con…
108 basic_string(basic_string&& str)
110 basic_string(const basic_string& str, size_type pos,
112 basic_string(const basic_string& str, size_type pos, size_type n,
114 constexpr basic_string(
115 …basic_string&& str, size_type pos, const Allocator& a = Allocator()); // since C…
116 constexpr basic_string(
117 …basic_string&& str, size_type pos, size_type n, const Allocator& a = Allocator()); // since C…
119 …basic_string(const T& t, size_type pos, size_type n, const Allocator& a = Allocator()); // C++17, …
121 …explicit basic_string(const T& t, const Allocator& a = Allocator()); // C++17, …
122 …basic_string(const value_type* s, const allocator_type& a = allocator_type()); // con…
123 …basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type()); // con…
124 basic_string(nullptr_t) = delete; // C++23
125 …basic_string(size_type n, value_type c, const allocator_type& a = allocator_type()); // con…
127 basic_string(InputIterator begin, InputIterator end,
130 …constexpr basic_string(from_range_t, R&& rg, const Allocator& a = Allocator()); // since…
131 …basic_string(initializer_list<value_type>, const Allocator& = Allocator()); // con…
132 …basic_string(const basic_string&, const Allocator&); // con…
133 …basic_string(basic_string&&, const Allocator&); // con…
135 …~basic_string(); // con…
139 …basic_string& operator=(const basic_string& str); // con…
141 …basic_string& operator=(const T& t); // C++17, …
142 basic_string& operator=(basic_string&& str)
146 …basic_string& operator=(const value_type* s); // con…
147 basic_string& operator=(nullptr_t) = delete; // C++23
148 …basic_string& operator=(value_type c); // con…
149 …basic_string& operator=(initializer_list<value_type>); // con…
189 …basic_string& operator+=(const basic_string& str); // con…
191 …basic_string& operator+=(const T& t); // C++17, …
192 …basic_string& operator+=(const value_type* s); // con…
193 …basic_string& operator+=(value_type c); // con…
194 …basic_string& operator+=(initializer_list<value_type>); // con…
196 …basic_string& append(const basic_string& str); // con…
198 …basic_string& append(const T& t); // C++17, …
199 …basic_string& append(const basic_string& str, size_type pos, size_type n=npos); // C++…
201 …basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17, …
202 …basic_string& append(const value_type* s, size_type n); // con…
203 …basic_string& append(const value_type* s); // con…
204 …basic_string& append(size_type n, value_type c); // con…
206 …basic_string& append(InputIterator first, InputIterator last); // constex…
208 … constexpr basic_string& append_range(R&& rg); // C++23
209 …basic_string& append(initializer_list<value_type>); // con…
218 …basic_string& assign(const basic_string& str); // con…
220 …basic_string& assign(const T& t); // C++17, …
221 …basic_string& assign(basic_string&& str); // con…
222 …basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++…
224 …basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17, …
225 …basic_string& assign(const value_type* s, size_type n); // con…
226 …basic_string& assign(const value_type* s); // con…
227 …basic_string& assign(size_type n, value_type c); // con…
229 …basic_string& assign(InputIterator first, InputIterator last); // constex…
231 … constexpr basic_string& assign_range(R&& rg); // C++23
232 …basic_string& assign(initializer_list<value_type>); // con…
234 …basic_string& insert(size_type pos1, const basic_string& str); // con…
236 …basic_string& insert(size_type pos1, const T& t); // constex…
237 basic_string& insert(size_type pos1, const basic_string& str,
240 …basic_string& insert(size_type pos1, const T& t, size_type pos2, size_type n=npos); // C++17, …
241 …basic_string& insert(size_type pos, const value_type* s, size_type n=npos); // C++…
242 …basic_string& insert(size_type pos, const value_type* s); // con…
243 …basic_string& insert(size_type pos, size_type n, value_type c); // con…
252 …basic_string& erase(size_type pos = 0, size_type n = npos); // con…
256 …basic_string& replace(size_type pos1, size_type n1, const basic_string& str); // con…
258 …basic_string& replace(size_type pos1, size_type n1, const T& t); // C++…
259 basic_string& replace(size_type pos1, size_type n1, const basic_string& str,
262 basic_string& replace(size_type pos1, size_type n1, const T& t,
264 …basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2); // con…
265 …basic_string& replace(size_type pos, size_type n1, const value_type* s); // con…
266 …basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c); // con…
267 …basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str); // con…
269 …basic_string& replace(const_iterator i1, const_iterator i2, const T& t); // C++17, …
270 …basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n); // …
271 …basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s); // con…
272 …basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c); // con…
274 …basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2); /…
276 … constexpr basic_string& replace_with_range(const_iterator i1, const_iterator i2, R&& rg); // C++23
277 …basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>); // con…
280 …basic_string substr(size_type pos = 0, size_type n = npos) const; // con…
281 …basic_string substr(size_type pos = 0, size_type n = npos) const&; // sin…
282 …constexpr basic_string substr(size_type pos = 0, size_type n = npos) &&; // sin…
283 void swap(basic_string& str)
293 …size_type find(const basic_string& str, size_type pos = 0) const noexcept; // con…
300 …size_type rfind(const basic_string& str, size_type pos = npos) const noexcept; // con…
307 …size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept; // con…
314 …size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept; // con…
321 …size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept; // con…
328 …size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept; // con…
335 …int compare(const basic_string& str) const noexcept; // con…
338 …int compare(size_type pos1, size_type n1, const basic_string& str) const; // con…
341 int compare(size_type pos1, size_type n1, const basic_string& str,
364 basic_string(InputIterator, InputIterator, Allocator = Allocator())
365 -> basic_string<typename iterator_traits<InputIterator>::value_type,
371 basic_string(from_range_t, R&&, Allocator = Allocator())
372 -> basic_string<ranges::range_value_t<R>, char_traits<ranges::range_value_t<R>>,
378 explicit basic_string(basic_string_view<charT, traits>, const Allocator& = Allocator())
379 -> basic_string<charT, traits, Allocator>; // C++17
384 basic_string(basic_string_view<charT, traits>,
387 -> basic_string<charT, traits, Allocator>; // C++17
390 basic_string<charT, traits, Allocator>
391 operator+(const basic_string<charT, traits, Allocator>& lhs,
392 …const basic_string<charT, traits, Allocator>& rhs); // constexpr…
395 basic_string<charT, traits, Allocator>
396 operator+(const charT* lhs , const basic_string<charT,traits,Allocator>&rhs); // …
399 basic_string<charT, traits, Allocator>
400 operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs); // …
403 basic_string<charT, traits, Allocator>
404 operator+(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs); // …
407 basic_string<charT, traits, Allocator>
408 operator+(const basic_string<charT, traits, Allocator>& lhs, charT rhs); // …
411 constexpr basic_string<charT, traits, Allocator>
412 operator+(const basic_string<charT, traits, Allocator>& lhs,
415 constexpr basic_string<charT, traits, Allocator>
416 operator+(basic_string<charT, traits, Allocator>&& lhs,
419 constexpr basic_string<charT, traits, Allocator>
421 … const basic_string<charT, traits, Allocator>& rhs); // Since C++26
423 constexpr basic_string<charT, traits, Allocator>
425 … basic_string<charT, traits, Allocator>&& rhs); // Since C++26
429 bool operator==(const basic_string<charT, traits, Allocator>& lhs,
430 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // constexpr since…
433 bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
436 bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept; // …
439 bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
440 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
443 bool operator!=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
446 bool operator!=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
449 bool operator< (const basic_string<charT, traits, Allocator>& lhs,
450 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
453 bool operator< (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
456 bool operator< (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
459 bool operator> (const basic_string<charT, traits, Allocator>& lhs,
460 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
463 bool operator> (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
466 bool operator> (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
469 bool operator<=(const basic_string<charT, traits, Allocator>& lhs,
470 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
473 bool operator<=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
476 bool operator<=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
479 bool operator>=(const basic_string<charT, traits, Allocator>& lhs,
480 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
483 bool operator>=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
486 bool operator>=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
489 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
490 const basic_string<charT, traits, Allocator>& rhs) noexcept;
493 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
497 void swap(basic_string<charT, traits, Allocator>& lhs,
498 basic_string<charT, traits, Allocator>& rhs)
503 operator>>(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
507 operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
511 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
516 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
519 constexpr typename basic_string<charT, traits, Allocator>::size_type
520 erase(basic_string<charT, traits, Allocator>& c, const U& value); // C++20
522 constexpr typename basic_string<charT, traits, Allocator>::size_type
523 erase_if(basic_string<charT, traits, Allocator>& c, Predicate pred); // C++20
525 typedef basic_string<char> string;
526 typedef basic_string<wchar_t> wstring;
527 typedef basic_string<char8_t> u8string; // C++20
528 typedef basic_string<char16_t> u16string;
529 typedef basic_string<char32_t> u32string;
577 basic_string<char> operator""s( const char *str, size_t len ); // C++14, constexp…
578 basic_string<wchar_t> operator""s( const wchar_t *str, size_t len ); // C++14, constexp…
579 constexpr basic_string<char8_t> operator""s( const char8_t *str, size_t len ); // C++20
580 basic_string<char16_t> operator""s( const char16_t *str, size_t len ); // C++14, constexp…
581 basic_string<char32_t> operator""s( const char32_t *str, size_t len ); // C++14, constexp…
694 // basic_string
697 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
728 class basic_string {
730 using __self _LIBCPP_NODEBUG = basic_string;
743 // A basic_string contains the following members which may be trivially relocatable:
753 // When compiling with AddressSanitizer (ASan), basic_string cannot be trivially
766 basic_string,
771 basic_string,
798 …static_assert(!is_array<value_type>::value, "Character type of basic_string must not be an array");
799 …static_assert(is_standard_layout<value_type>::value, "Character type of basic_string must be stand…
801 "Character type of basic_string must be trivially default constructible");
802 …static_assert(is_trivially_copyable<value_type>::value, "Character type of basic_string must be tr…
907 basic_string& __str_;
909 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __annotate_new_size(basic_string& __str) : __s…
917 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
938 basic_string(__init_with_sentinel_tag, _Iter __first, _Sent __last, const allocator_type& __a)
975 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string()
986 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const allocator_type& __…
1001 …_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string(const basic_string& __st…
1011 basic_string(const basic_string& __str, const allocator_type& __a)
1021 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str)
1030 : __rep_([](basic_string& __s) -> decltype(__s.__rep_)&& {
1042 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str, const alloc…
1061 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* _LIBCPP_DIAGNOSE_NU…
1062 _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*) detected nullptr");
1068 basic_string(const _CharT* _LIBCPP_DIAGNOSE_NULLPTR __s, const _Allocator& __a)
1070 … _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*, allocator) detected nullptr");
1075 basic_string(nullptr_t) = delete;
1078 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n)…
1079 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr…
1084 basic_string(const _CharT* __s, size_type __n, const _Allocator& __a)
1086 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n, allocator) detec…
1090 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c) { __in…
1093 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1094 basic_string&& __str, size_type __pos, const _Allocator& __alloc = _Allocator())
1095 : basic_string(std::move(__str), __pos, npos, __alloc) {}
1097 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1098 … basic_string&& __str, size_type __pos, size_type __n, const _Allocator& __alloc = _Allocator())
1114 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c, const …
1120 …basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Allocator& __a = _A…
1129 basic_string(const basic_string& __str, size_type __pos, const _Allocator& __a = _Allocator())
1139 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1142 …basic_string(const _Tp& __t, size_type __pos, size_type __n, const allocator_type& __a = allocator…
1151 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1153 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t) {
1160 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1162 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t, const al…
1169 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(_InputIterator __first, _InputIte…
1175 basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a)
1182 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1194 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il) {
1198 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il, co…
1204 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 ~basic_string() {
1214 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string&
1215 operator=(const basic_string& __str);
1219 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1221 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const _Tp& __t) {
1227 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1228 …operator=(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_trai…
1233 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(initializer_list<value…
1237 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1242 basic_string& operator=(nullptr_t) = delete;
1244 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(value_type __c);
1350 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const basic_string& _…
1356 !is_same<__remove_cvref_t<_Tp>, basic_string >::value,
1358 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const _Tp& __t) {
1363 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1368 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(value_type __c) {
1374 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(initializer_list<valu…
1379 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str…
1385 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1387 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const _Tp& __t) {
1392 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str, size_type __pos, siz…
1396 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1398 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1407 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s, size_type __n);
1408 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* _LIBCPP_DIAGNOSE_NULLPTR __s);
1409 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(size_type __n, value_type __c);
1414 _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1416 const basic_string __temp(__first, __last, __alloc_);
1422 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1436 const basic_string __temp(__first, __last, __alloc_);
1445 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& append_range(_Range&& __range) {
1452 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(initializer_list<value_ty…
1481 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const _Tp& __t) {
1487 …_LIBCPP_HIDE_FROM_ABI constexpr void __move_assign(basic_string&& __str, size_type __pos, size_typ…
1509 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str…
1513 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1514 …assign(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_traits>…
1519 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str, size_type __pos, siz…
1523 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1525 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1534 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s, size_type __n);
1535 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s);
1536 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(size_type __n, value_type __c);
1539 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1546 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1560 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& assign_range(_Range&& __range) {
1575 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(initializer_list<value_ty…
1580 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1581 insert(size_type __pos1, const basic_string& __str) {
1586 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos1, const _…
1593 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1595 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1604 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1605 insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n = npos);
1606 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s, size_ty…
1607 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* _LIBCPP_DIAG…
1608 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, size_type __n, value_type __c);
1619 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc_);
1635 const basic_string __temp(__first, __last, __alloc_);
1653 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& erase(size_type __pos = 0, size_type __n = npos);
1657 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1658 replace(size_type __pos1, size_type __n1, const basic_string& __str) {
1663 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1669 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1670 …replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
1674 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
1676 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1685 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1687 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, const value_t…
1688 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, size_type __n…
1690 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1691 replace(const_iterator __i1, const_iterator __i2, const basic_string& __str) {
1697 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1703 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1708 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1713 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1719 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1721 const basic_string __temp(__j1, __j2, __alloc_);
1727 _LIBCPP_HIDE_FROM_ABI constexpr basic_string&
1729 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc_);
1735 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1744 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string
1746 return basic_string(*this, __pos, __n);
1749 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) con…
1750 return basic_string(*this, __pos, __n);
1753 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) && {
1754 return basic_string(std::move(*this), __pos, __n);
1758 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(basic_string& __str)
1785 find(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT {
1815 rfind(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT {
1846 find_first_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT {
1880 find_last_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT {
1914 find_first_not_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT {
1948 find_last_not_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT {
1981 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 int compare(const basic_string& __str) const _…
2008 compare(size_type __pos1, size_type __n1, const basic_string& __str) const {
2013 …compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
2019 !is_same<__remove_cvref_t<_Tp>, basic_string>::value,
2276 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __annotation_guard(basic_string& __str) : __st…
2282 basic_string& __str_;
2358 // For example, operator=(basic_string) performs a 'self' check.
2360 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_no_alias(const value_type* _…
2371 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2376 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2404 __copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT {}
2408 __move_assign(basic_string& __str, false_type) noexcept(__alloc_traits::is_always_equal::value);
2410 __move_assign(basic_string& __str, true_type)
2418 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __str)
2425 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __c, tr…
2430 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string&, false_…
2432 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2433 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2436 …inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_short(const value_type* __s, size_type…
2455 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
2473 std::__throw_length_error("basic_string");
2477 std::__throw_out_of_range("basic_string");
2480 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string
2485 operator==(const basic_string<_CharT2, _Traits2, _Allocator2>&, const _CharT2*) _NOEXCEPT;
2516 basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
2517 -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
2523 explicit basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
2524 -> basic_string<_CharT, _Traits, _Allocator>;
2531 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2532 -> basic_string<_CharT, _Traits, _Allocator>;
2539 basic_string(from_range_t, _Range&&, _Allocator = _Allocator())
2540 …-> basic_string<ranges::range_value_t<_Range>, char_traits<ranges::range_value_t<_Range>>, _Alloca…
2545 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz) {
2569 basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(const value_type* __s, size_ty…
2592 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n,…
2618 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last) {
2625 basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator __first, _Sentinel _…
2647 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last…
2655 basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __first, _Sentinel __las…
2692 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace(
2736 _LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__g…
2766 basic_string<_CharT, _Traits, _Allocator>::__grow_by_without_replace(
2785 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2786 basic_string<_CharT, _Traits, _Allocator>::__assign_no_alias(const value_type* __s, size_type __n) {
2811 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2812 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s, size_type __n) {
2828 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2829 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n) {
2835 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2836 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c) {
2850 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2851 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c) {
2871 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string<_CharT, _Traits, _…
2872 basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str) {
2894 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__move_assign(
2895 basic_string& __str, false_type) noexcept(__alloc_traits::is_always_equal::value) {
2904 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2954 basic_string<_CharT, _Traits, _Allocator>::__assign_with_sentinel(_InputIterator __first, _Sentinel…
2955 …const basic_string __temp(__init_with_sentinel_tag(), std::move(__first), std::move(__last), __all…
2962 basic_string<_CharT, _Traits, _Allocator>::__assign_trivial(_Iterator __first, _Sentinel __last, si…
2990 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2991 basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_…
2999 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
3000 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
3005 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3006 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s) {
3015 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3016 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n) {
3035 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3036 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c) {
3054 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n) {
3069 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::push_back(value_type …
3098 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3099 basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_…
3107 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3108 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s) {
3116 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3117 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type…
3144 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3145 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c) {
3172 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3173 basic_string<_CharT, _Traits, _Allocator>::__insert_with_size(
3182 …const basic_string __temp(__init_with_sentinel_tag(), std::move(__first), std::move(__last), __all…
3188 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3189 basic_string<_CharT, _Traits, _Allocator>::insert(
3190 size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) {
3198 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3199 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s) {
3205 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3206 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c) {
3230 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3231 basic_string<_CharT, _Traits, _Allocator>::replace(
3275 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3276 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2,…
3301 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3302 basic_string<_CharT, _Traits, _Allocator>::replace(
3303 size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) {
3311 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3312 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3323 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(size_type __pos, size_type __…
3336 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3337 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n) {
3349 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3350 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos) {
3360 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3361 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last) {
3370 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::pop_back() {
3376 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXC…
3391 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n,…
3401 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n) {
3410 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __r…
3433 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit(…
3480 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3481 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const {
3488 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::reference
3489 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) {
3496 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3497 basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) co…
3507 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_str…
3533 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3553 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 bool basic_string<_CharT, _Traits, _Allocator>::__invariants()…
3569 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3570 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3577 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3578 _LIBCPP_ASSERT_NON_NULL(__rhs != nullptr, "operator==(basic_string, char*): received nullptr");
3580 using _String = basic_string<_CharT, _Traits, _Allocator>;
3595 operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3603 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& _…
3604 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
3610 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3617 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3618 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3624 operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3630 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3637 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3638 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3644 operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3650 operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3657 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3658 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3664 operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3670 operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3677 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3678 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3684 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3690 operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3697 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3698 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3704 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3710 operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3718 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3722 using _String = basic_string<_CharT, _Traits, _Allocator>;
3734 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3735 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3736 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3741 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3742 operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3750 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3751 operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3757 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3758 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3763 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3764 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs) {
3771 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
3772 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3778 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
3780 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3789 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3790 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _A…
3795 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3796 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Al…
3801 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3802 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocat…
3807 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3808 operator+(const _CharT* __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3813 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3814 operator+(_CharT __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3820 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3821 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs) {
3826 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3827 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs) {
3837 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
3838 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs,
3844 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
3846 basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3856 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>& _…
3904 _LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
3905 basic_string<_CharT, _Traits, _Allocator>::npos;
3908 struct __string_hash : public __unary_function<basic_string<_CharT, char_traits<_CharT>, _Allocator…
3910 operator()(const basic_string<_CharT, char_traits<_CharT>, _Allocator>& __val) const _NOEXCEPT {
3916 struct hash<basic_string<char, char_traits<char>, _Allocator> > : __string_hash<char, _Allocator> {…
3920 struct hash<basic_string<char8_t, char_traits<char8_t>, _Allocator> > : __string_hash<char8_t, _All…
3924 struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __string_hash<char16_t, _…
3927 struct hash<basic_string<char32_t, char_traits<char32_t>, _Allocator> > : __string_hash<char32_t, _…
3931 struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Allocator> > : __string_hash<wchar_t, _All…
3936 operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& _…
3940 operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
3944 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _Ch…
3948 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
3952 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _C…
3956 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
3960 inline _LIBCPP_HIDE_FROM_ABI constexpr typename basic_string<_CharT, _Traits, _Allocator>::size_type
3961 erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
3968 inline _LIBCPP_HIDE_FROM_ABI constexpr typename basic_string<_CharT, _Traits, _Allocator>::size_type
3969 erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred) {
3977 // Literal suffixes for basic_string [basic.string.literals]
3980 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char>
3982 return basic_string<char>(__str, __len);
3986 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<wchar_t>
3988 return basic_string<wchar_t>(__str, __len);
3993 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string<char8_t> operator""s(const char8_t* __str, size…
3994 return basic_string<char8_t>(__str, __len);
3998 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char16_t>
4000 return basic_string<char16_t>(__str, __len);
4003 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char32_t>
4005 return basic_string<char32_t>(__str, __len);
4012 inline constexpr bool __format::__enable_insertable<std::basic_string<char>> = true;
4015 inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>> = true;