Lines Matching refs:basic_string

84 class basic_string
104 basic_string()
106 …explicit basic_string(const allocator_type& a); // con…
107basic_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(
115basic_string&& str, size_type pos, const Allocator& a = Allocator()); // since C…
116 constexpr basic_string(
117basic_string&& str, size_type pos, size_type n, const Allocator& a = Allocator()); // since C…
119basic_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, …
122basic_string(const value_type* s, const allocator_type& a = allocator_type()); // con…
123basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type()); // con…
124 basic_string(nullptr_t) = delete; // C++23
125basic_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…
131basic_string(initializer_list<value_type>, const Allocator& = Allocator()); // con…
132basic_string(const basic_string&, const Allocator&); // con…
133basic_string(basic_string&&, const Allocator&); // con…
135 …~basic_string(); // con…
139basic_string& operator=(const basic_string& str); // con…
141basic_string& operator=(const T& t); // C++17, …
142 basic_string& operator=(basic_string&& str)
146basic_string& operator=(const value_type* s); // con…
147 basic_string& operator=(nullptr_t) = delete; // C++23
148basic_string& operator=(value_type c); // con…
149basic_string& operator=(initializer_list<value_type>); // con…
189basic_string& operator+=(const basic_string& str); // con…
191basic_string& operator+=(const T& t); // C++17, …
192basic_string& operator+=(const value_type* s); // con…
193basic_string& operator+=(value_type c); // con…
194basic_string& operator+=(initializer_list<value_type>); // con…
196basic_string& append(const basic_string& str); // con…
198basic_string& append(const T& t); // C++17, …
199basic_string& append(const basic_string& str, size_type pos, size_type n=npos); // C++…
201basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17, …
202basic_string& append(const value_type* s, size_type n); // con…
203basic_string& append(const value_type* s); // con…
204basic_string& append(size_type n, value_type c); // con…
206basic_string& append(InputIterator first, InputIterator last); // constex…
208 … constexpr basic_string& append_range(R&& rg); // C++23
209basic_string& append(initializer_list<value_type>); // con…
218basic_string& assign(const basic_string& str); // con…
220basic_string& assign(const T& t); // C++17, …
221basic_string& assign(basic_string&& str); // con…
222basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++…
224basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17, …
225basic_string& assign(const value_type* s, size_type n); // con…
226basic_string& assign(const value_type* s); // con…
227basic_string& assign(size_type n, value_type c); // con…
229basic_string& assign(InputIterator first, InputIterator last); // constex…
231 … constexpr basic_string& assign_range(R&& rg); // C++23
232basic_string& assign(initializer_list<value_type>); // con…
234basic_string& insert(size_type pos1, const basic_string& str); // con…
236basic_string& insert(size_type pos1, const T& t); // constex…
237 basic_string& insert(size_type pos1, const basic_string& str,
240basic_string& insert(size_type pos1, const T& t, size_type pos2, size_type n); // C++17, …
241basic_string& insert(size_type pos, const value_type* s, size_type n=npos); // C++…
242basic_string& insert(size_type pos, const value_type* s); // con…
243basic_string& insert(size_type pos, size_type n, value_type c); // con…
252basic_string& erase(size_type pos = 0, size_type n = npos); // con…
256basic_string& replace(size_type pos1, size_type n1, const basic_string& str); // con…
258basic_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,
264basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2); // con…
265basic_string& replace(size_type pos, size_type n1, const value_type* s); // con…
266basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c); // con…
267basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str); // con…
269basic_string& replace(const_iterator i1, const_iterator i2, const T& t); // C++17, …
270basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n); // …
271basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s); // con…
272basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c); // con…
274basic_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
277basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>); // con…
280basic_string substr(size_type pos = 0, size_type n = npos) const; // con…
281basic_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 bool operator==(const basic_string<charT, traits, Allocator>& lhs,
412 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // constexpr since…
415 bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
418 bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept; // …
421 bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
422 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
425 bool operator!=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
428 bool operator!=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
431 bool operator< (const basic_string<charT, traits, Allocator>& lhs,
432 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
435 bool operator< (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
438 bool operator< (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
441 bool operator> (const basic_string<charT, traits, Allocator>& lhs,
442 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
445 bool operator> (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
448 bool operator> (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
451 bool operator<=(const basic_string<charT, traits, Allocator>& lhs,
452 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
455 bool operator<=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
458 bool operator<=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
461 bool operator>=(const basic_string<charT, traits, Allocator>& lhs,
462 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
465 bool operator>=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
468 bool operator>=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
471 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
472 const basic_string<charT, traits, Allocator>& rhs) noexcept;
475 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
479 void swap(basic_string<charT, traits, Allocator>& lhs,
480 basic_string<charT, traits, Allocator>& rhs)
485 operator>>(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
489 operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
493 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
498 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
501 typename basic_string<charT, traits, Allocator>::size_type
502 erase(basic_string<charT, traits, Allocator>& c, const U& value); // C++20
504 typename basic_string<charT, traits, Allocator>::size_type
505 erase_if(basic_string<charT, traits, Allocator>& c, Predicate pred); // C++20
507 typedef basic_string<char> string;
508 typedef basic_string<wchar_t> wstring;
509 typedef basic_string<char8_t> u8string; // C++20
510 typedef basic_string<char16_t> u16string;
511 typedef basic_string<char32_t> u32string;
559 basic_string<char> operator""s( const char *str, size_t len ); // C++14, constexp…
560 basic_string<wchar_t> operator""s( const wchar_t *str, size_t len ); // C++14, constexp…
561 constexpr basic_string<char8_t> operator""s( const char8_t *str, size_t len ); // C++20
562 basic_string<char16_t> operator""s( const char16_t *str, size_t len ); // C++14, constexp…
563 basic_string<char32_t> operator""s( const char32_t *str, size_t len ); // C++14, constexp…
666 // basic_string
669 basic_string<_CharT, _Traits, _Allocator> _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
670 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const basic_string<_CharT, _Traits,…
673 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
674 operator+(const _CharT* __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
677 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
678 operator+(_CharT __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
681 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
682 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const _CharT* __y);
685 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
686 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
709 class basic_string {
714 typedef basic_string __self;
727 …static_assert((!is_array<value_type>::value), "Character type of basic_string must not be an array…
728 …static_assert((is_standard_layout<value_type>::value), "Character type of basic_string must be sta…
729 static_assert((is_trivial<value_type>::value), "Character type of basic_string must be trivial");
845 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
866 basic_string(__init_with_sentinel_tag, _Iter __first, _Sent __last, const allocator_type& __a)
880 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string()
886 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const allocator_type& __…
896 …_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string(const basic_string& __st…
906 basic_string(const basic_string& __str, const allocator_type& __a)
916 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str)
925 …: __r_([](basic_string &__s) -> decltype(__s.__r_)&& { if(!__s.__is_long()) __s.__annotate_delete(…
932 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str, const alloc…
951 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s)
953 _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*) detected nullptr");
958 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, const _Allocat…
960 … _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*, allocator) detected nullptr");
965 basic_string(nullptr_t) = delete;
968 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n)
970 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr…
975 basic_string(const _CharT* __s, size_type __n, const _Allocator& __a)
977 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n, allocator) detec…
981 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c)
987 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
988 basic_string&& __str, size_type __pos, const _Allocator& __alloc = _Allocator())
989 : basic_string(std::move(__str), __pos, npos, __alloc) {}
991 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
992basic_string&& __str, size_type __pos, size_type __n, const _Allocator& __alloc = _Allocator())
1008 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c, const …
1014basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Allocator& __a = _A…
1023 basic_string(const basic_string& __str, size_type __pos, const _Allocator& __a = _Allocator())
1033 !__is_same_uncvref<_Tp, basic_string>::value,
1036basic_string(const _Tp& __t, size_type __pos, size_type __n, const allocator_type& __a = allocator…
1045 !__is_same_uncvref<_Tp, basic_string>::value,
1047 …LATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t)
1055 !__is_same_uncvref<_Tp, basic_string>::value,
1057 …CPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
1065 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(_InputIterator __first, _InputIte…
1072 basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a)
1079 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1091 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il)
1096 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il, co…
1102 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 ~basic_string() {
1112 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string&
1113 operator=(const basic_string& __str);
1117 !__is_same_uncvref<_Tp, basic_string>::value,
1119 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const _Tp& __t) {
1125 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(basic_string&& __str)
1131 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(initializer_list<value…
1135 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const value_type* __s)…
1139 basic_string& operator=(nullptr_t) = delete;
1141 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string& operator=(value_…
1239 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const basic_string& _…
1245 !__is_same_uncvref<_Tp, basic_string >::value,
1247 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1253 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const value_type* __s…
1257 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(value_type __c) {
1263 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(initializer_list<valu…
1268 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str…
1274 !__is_same_uncvref<_Tp, basic_string>::value,
1276 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1282 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str, size_type __pos, siz…
1286 !__is_same_uncvref<_Tp, basic_string>::value,
1290 basic_string&
1293 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s, size_type __n);
1294 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s);
1295 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(size_type __n, value_type __c);
1300 …MPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1302 const basic_string __temp(__first, __last, __alloc());
1308 …MPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1313 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& append_range(_Range&& __range) {
1320 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(initializer_list<value_ty…
1349 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1356 …_LIBCPP_HIDE_FROM_ABI constexpr void __move_assign(basic_string&& __str, size_type __pos, size_typ…
1378 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str…
1382 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(basic_string&& __str)
1388 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str, size_type __pos, siz…
1392 !__is_same_uncvref<_Tp, basic_string>::value,
1394 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1397 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s, size_type __n);
1398 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s);
1399 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(size_type __n, value_type __c);
1401 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1405 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1410 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& assign_range(_Range&& __range) {
1425 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(initializer_list<value_ty…
1430 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1431 insert(size_type __pos1, const basic_string& __str) {
1436 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1444 !__is_same_uncvref<_Tp, basic_string>::value,
1446 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1449 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1450 insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n = npos);
1451 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s, size_ty…
1452 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s);
1453 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, size_type __n, value_type __c);
1464 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc());
1492 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& erase(size_type __pos = 0, size_type __n = npos);
1496 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1497 replace(size_type __pos1, size_type __n1, const basic_string& __str) {
1502 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1508 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1509 …replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
1513 !__is_same_uncvref<_Tp, basic_string>::value,
1515 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1518 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1520 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, const value_t…
1521 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, size_type __n…
1523 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1524 replace(const_iterator __i1, const_iterator __i2, const basic_string& __str) {
1530 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1536 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1541 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1546 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1552 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1557 _LIBCPP_HIDE_FROM_ABI constexpr basic_string&
1559 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc());
1565 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1574 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string
1576 return basic_string(*this, __pos, __n);
1579 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) con…
1580 return basic_string(*this, __pos, __n);
1583 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) && {
1584 return basic_string(std::move(*this), __pos, __n);
1588 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(basic_string& __str)
1610 find(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1622 rfind(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1634 find_first_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1648 find_last_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1662 find_first_not_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1676 find_last_not_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1689 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 int compare(const basic_string& __str) const _…
1700 compare(size_type __pos1, size_type __n1, const basic_string& __str) const;
1702 …compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
1706 !__is_same_uncvref<_Tp, basic_string>::value,
1763 operator==(const basic_string<char, char_traits<char>, _Alloc>& __lhs,
1764 const basic_string<char, char_traits<char>, _Alloc>& __rhs) _NOEXCEPT;
2009 // For example, operator=(basic_string) performs a 'self' check.
2011 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_no_alias(const value_type* _…
2021 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2026 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2050 __copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT {}
2053 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign(basic_string& __str, false_…
2056 __move_assign(basic_string& __str, true_type)
2064 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __str)
2071 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __c, tr…
2076 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string&, false_…
2078 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2079 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2082 …inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_short(const value_type* __s, size_type…
2095 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
2113 std::__throw_length_error("basic_string");
2117 std::__throw_out_of_range("basic_string");
2120 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, const basic_st…
2121 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const value_type*, const basic_stri…
2122 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(value_type, const basic_string&);
2123 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, const value_ty…
2124 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, value_type);
2149 basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
2150 -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
2156 explicit basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
2157 -> basic_string<_CharT, _Traits, _Allocator>;
2164 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2165 -> basic_string<_CharT, _Traits, _Allocator>;
2172 basic_string(from_range_t, _Range&&, _Allocator = _Allocator())
2173 …-> basic_string<ranges::range_value_t<_Range>, char_traits<ranges::range_value_t<_Range>>, _Alloca…
2178 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz, size_type …
2202 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz) {
2226 basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(const value_type* __s, size_ty…
2249 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n,…
2275 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last) {
2282 basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator __first, _Sentinel _…
2304 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last…
2312 basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __first, _Sentinel __las…
2350 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace(
2394 …_LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__…
2425 basic_string<_CharT, _Traits, _Allocator>::__grow_by_without_replace(
2443 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2444 basic_string<_CharT, _Traits, _Allocator>::__assign_no_alias(const value_type* __s, size_type __n) {
2464 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2465 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s, size_type __n) {
2482 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2483 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n) {
2489 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2490 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c) {
2505 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2506 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c) {
2526 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string<_CharT, _Traits, _…
2527 basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str) {
2552 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, false_type)
2562 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2611 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2612 basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last) {
2620 basic_string<_CharT, _Traits, _Allocator>::__assign_with_sentinel(_InputIterator __first, _Sentinel…
2621 …const basic_string __temp(__init_with_sentinel_tag(), std::move(__first), std::move(__last), __all…
2627 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2628 basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last…
2642 basic_string<_CharT, _Traits, _Allocator>::__assign_trivial(_Iterator __first, _Sentinel __last, si…
2670 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2671 basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_…
2681 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2683 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2684 basic_string<_CharT, _Traits, _Allocator>::assign(const _Tp& __t, size_type __pos, size_type __n) {
2693 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2694 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
2699 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2700 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s) {
2710 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2711 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n) {
2730 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2731 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c) {
2749 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n) {
2764 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::push_back(value_type …
2795 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2796 basic_string<_CharT, _Traits, _Allocator>::append(_ForwardIterator __first, _ForwardIterator __last…
2811 const basic_string __temp(__first, __last, __alloc());
2819 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2820 basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_…
2830 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2832 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2833 basic_string<_CharT, _Traits, _Allocator>::append(const _Tp& __t, size_type __pos, size_type __n) {
2842 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2843 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s) {
2851 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2852 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type…
2879 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2880 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c) {
2907 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2908 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _InputIterator __first, _In…
2909 const basic_string __temp(__first, __last, __alloc());
2915 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2916 basic_string<_CharT, _Traits, _Allocator>::insert(
2924 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2925 basic_string<_CharT, _Traits, _Allocator>::__insert_with_size(
2934 const basic_string __temp(__init_with_sentinel_tag(), __first, __last, __alloc());
2940 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2941 basic_string<_CharT, _Traits, _Allocator>::insert(
2942 size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) {
2952 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2954 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2955 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const _Tp& __t, size_type __pos…
2964 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2965 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s) {
2971 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2972 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c) {
2996 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2997 basic_string<_CharT, _Traits, _Allocator>::replace(
3041 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3042 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2,…
3068 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3069 basic_string<_CharT, _Traits, _Allocator>::replace(
3071 const basic_string __temp(__j1, __j2, __alloc());
3076 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3077 basic_string<_CharT, _Traits, _Allocator>::replace(
3078 size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) {
3088 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3090 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3091 basic_string<_CharT, _Traits, _Allocator>::replace(
3101 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3102 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3113 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(size_type __pos, size_type __…
3126 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3127 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n) {
3139 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3140 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos) {
3150 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3151 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last) {
3160 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::pop_back() {
3166 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXC…
3179 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n,…
3189 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n) {
3198 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __r…
3217 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit(…
3227 basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target_capacity) {
3278 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3279 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const {
3286 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::reference
3287 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) {
3294 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3295 basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) co…
3305 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_str…
3339 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3340 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos, size_type _…
3346 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3347 basic_string<_CharT, _Traits, _Allocator>::find(const basic_string& __str, size_type __pos) const _…
3353 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3354 basic_string<_CharT, _Traits, _Allocator>::find(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3360 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3361 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos) const _NOEX…
3368 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3369 basic_string<_CharT, _Traits, _Allocator>::find(value_type __c, size_type __pos) const _NOEXCEPT {
3376 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3377 basic_string<_CharT, _Traits, _Allocator>::rfind(
3384 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3385 basic_string<_CharT, _Traits, _Allocator>::rfind(const basic_string& __str, size_type __pos) const …
3391 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3392 basic_string<_CharT, _Traits, _Allocator>::rfind(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3398 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3399 basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s, size_type __pos) const _NOE…
3406 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3407 basic_string<_CharT, _Traits, _Allocator>::rfind(value_type __c, size_type __pos) const _NOEXCEPT {
3414 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3415 basic_string<_CharT, _Traits, _Allocator>::find_first_of(
3422 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3423 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __str, size_type __pos…
3430 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3431 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const _Tp& __t, size_type __pos) const _NO…
3438 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3439 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s, size_type __pos) co…
3446 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3447 basic_string<_CharT, _Traits, _Allocator>::find_first_of(value_type __c, size_type __pos) const _NO…
3454 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3455 basic_string<_CharT, _Traits, _Allocator>::find_last_of(
3462 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3463 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __str, size_type __pos)…
3470 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3471 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const _Tp& __t, size_type __pos) const _NOE…
3478 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3479 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s, size_type __pos) con…
3486 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3487 basic_string<_CharT, _Traits, _Allocator>::find_last_of(value_type __c, size_type __pos) const _NOE…
3494 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3495 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3502 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3503 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3504 const basic_string& __str, size_type __pos) const _NOEXCEPT {
3511 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3512 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const _Tp& __t, size_type __pos) const…
3519 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3520 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s, size_type __pos…
3527 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3528 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c, size_type __pos) const…
3535 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3536 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3543 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3544 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3545 const basic_string& __str, size_type __pos) const _NOEXCEPT {
3552 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3553 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const _Tp& __t, size_type __pos) const …
3560 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3561 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s, size_type __pos)…
3568 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3569 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c, size_type __pos) const …
3577 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t…
3593 basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT {
3598 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3618 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const _Tp& __t…
3625 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const basic_st…
3632 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3634 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3641 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3642 …size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) con…
3648 basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT {
3655 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const value_ty…
3663 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 bool basic_string<_CharT, _Traits, _Allocator>::__invariants()…
3678 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__clear_and_sh…
3691 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3692 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3703 operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
3704 const basic_string<char, char_traits<char>, _Allocator>& __rhs) _NOEXCEPT {
3721 operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3722 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3723 _LIBCPP_ASSERT_NON_NULL(__lhs != nullptr, "operator==(char*, basic_string): received nullptr");
3733 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3737 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3738 _LIBCPP_ASSERT_NON_NULL(__rhs != nullptr, "operator==(basic_string, char*): received nullptr");
3749 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& _…
3750 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
3756 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3763 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3764 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3770 operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3776 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3783 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3784 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3790 operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3796 operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3803 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3804 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3810 operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3816 operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3823 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3824 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3830 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3836 operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3843 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3844 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3850 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3856 operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3864 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3865 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3866 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3867 using _String = basic_string<_CharT, _Traits, _Allocator>;
3881 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3882 operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3883 using _String = basic_string<_CharT, _Traits, _Allocator>;
3897 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3898 operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3899 using _String = basic_string<_CharT, _Traits, _Allocator>;
3912 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3913 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3914 using _String = basic_string<_CharT, _Traits, _Allocator>;
3928 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3929 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs) {
3930 using _String = basic_string<_CharT, _Traits, _Allocator>;
3945 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3946 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _A…
3951 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3952 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Al…
3957 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3958 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocat…
3963 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3964 operator+(const _CharT* __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3969 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3970 operator+(_CharT __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3976 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3977 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs) {
3982 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3983 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs) {
3994 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>& _…
4042 _LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
4043 basic_string<_CharT, _Traits, _Allocator>::npos;
4046 struct __string_hash : public __unary_function<basic_string<_CharT, char_traits<_CharT>, _Allocator…
4048 operator()(const basic_string<_CharT, char_traits<_CharT>, _Allocator>& __val) const _NOEXCEPT {
4054 struct hash<basic_string<char, char_traits<char>, _Allocator> > : __string_hash<char, _Allocator> {…
4058 struct hash<basic_string<char8_t, char_traits<char8_t>, _Allocator> > : __string_hash<char8_t, _All…
4062 struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __string_hash<char16_t, _…
4065 struct hash<basic_string<char32_t, char_traits<char32_t>, _Allocator> > : __string_hash<char32_t, _…
4069 struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Allocator> > : __string_hash<wchar_t, _All…
4074 operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& _…
4078 operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4082 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _Ch…
4086 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4090 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _C…
4094 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4098 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4099 erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
4106 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4107 erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred) {
4115 // Literal suffixes for basic_string [basic.string.literals]
4118 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char>
4120 return basic_string<char>(__str, __len);
4124 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<wchar_t>
4126 return basic_string<wchar_t>(__str, __len);
4131 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string<char8_t> operator""s(const char8_t* __str, size…
4132 return basic_string<char8_t>(__str, __len);
4136 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char16_t>
4138 return basic_string<char16_t>(__str, __len);
4141 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char32_t>
4143 return basic_string<char32_t>(__str, __len);
4150 inline constexpr bool __format::__enable_insertable<std::basic_string<char>> = true;
4153 inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>> = true;