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); // 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 typename basic_string<charT, traits, Allocator>::size_type
520 erase(basic_string<charT, traits, Allocator>& c, const U& value); // C++20
522 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…
687 // basic_string
690 basic_string<_CharT, _Traits, _Allocator> _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
691 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const basic_string<_CharT, _Traits,…
694 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
695 operator+(const _CharT* __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
698 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
699 operator+(_CharT __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
702 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
703 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const _CharT* __y);
706 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
707 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
712 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
713 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
717 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
718 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, type_identity_t<basic_string_view<_Cha…
721 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
723 const basic_string<_CharT, _Traits, _Allocator>& __rhs);
726 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
727 operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs, basic_string<_CharT, _Traits, …
752 class basic_string {
757 typedef basic_string __self;
770 // A basic_string contains the following members which may be trivially relocatable:
780 // When compiling with AddressSanitizer (ASan), basic_string cannot be trivially
790 basic_string,
817 …static_assert(!is_array<value_type>::value, "Character type of basic_string must not be an array");
818 …static_assert(is_standard_layout<value_type>::value, "Character type of basic_string must be stand…
819 static_assert(is_trivial<value_type>::value, "Character type of basic_string must be trivial");
925 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
946 basic_string(__init_with_sentinel_tag, _Iter __first, _Sent __last, const allocator_type& __a)
983 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string()
989 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const allocator_type& __…
999 …_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string(const basic_string& __st…
1009 basic_string(const basic_string& __str, const allocator_type& __a)
1019 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str)
1028 : __r_([](basic_string& __s) -> decltype(__s.__r_)&& {
1039 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str, const alloc…
1058 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s)
1060 _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*) detected nullptr");
1065 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, const _Allocat…
1067 … _LIBCPP_ASSERT_NON_NULL(__s != nullptr, "basic_string(const char*, allocator) detected nullptr");
1072 basic_string(nullptr_t) = delete;
1075 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n)
1077 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr…
1082 basic_string(const _CharT* __s, size_type __n, const _Allocator& __a)
1084 …_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n, allocator) detec…
1088 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c)
1094 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1095 basic_string&& __str, size_type __pos, const _Allocator& __alloc = _Allocator())
1096 : basic_string(std::move(__str), __pos, npos, __alloc) {}
1098 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1099 … basic_string&& __str, size_type __pos, size_type __n, const _Allocator& __alloc = _Allocator())
1115 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c, const …
1121 …basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Allocator& __a = _A…
1130 basic_string(const basic_string& __str, size_type __pos, const _Allocator& __a = _Allocator())
1140 !__is_same_uncvref<_Tp, basic_string>::value,
1143 …basic_string(const _Tp& __t, size_type __pos, size_type __n, const allocator_type& __a = allocator…
1152 !__is_same_uncvref<_Tp, basic_string>::value,
1154 …LATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t)
1162 !__is_same_uncvref<_Tp, basic_string>::value,
1165 _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t, const allocator_type& __a)
1172 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(_InputIterator __first, _InputIte…
1179 basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a)
1186 _LIBCPP_HIDE_FROM_ABI constexpr basic_string(
1198 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il)
1203 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il, co…
1209 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 ~basic_string() {
1219 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string&
1220 operator=(const basic_string& __str);
1224 !__is_same_uncvref<_Tp, basic_string>::value,
1226 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const _Tp& __t) {
1232 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1233 …operator=(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_trai…
1238 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(initializer_list<value…
1242 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const value_type* __s)…
1246 basic_string& operator=(nullptr_t) = delete;
1248 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(value_type __c);
1346 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const basic_string& _…
1352 !__is_same_uncvref<_Tp, basic_string >::value,
1354 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1360 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const value_type* __s…
1364 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(value_type __c) {
1370 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(initializer_list<valu…
1375 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str…
1381 !__is_same_uncvref<_Tp, basic_string>::value,
1383 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1389 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str, size_type __pos, siz…
1393 !__is_same_uncvref<_Tp, basic_string>::value,
1397 basic_string&
1400 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s, size_type __n);
1401 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s);
1402 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(size_type __n, value_type __c);
1407 …MPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1409 const basic_string __temp(__first, __last, __alloc());
1415 …MPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1420 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& append_range(_Range&& __range) {
1427 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(initializer_list<value_ty…
1456 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1463 …_LIBCPP_HIDE_FROM_ABI constexpr void __move_assign(basic_string&& __str, size_type __pos, size_typ…
1485 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str…
1489 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1490 …assign(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_traits>…
1495 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str, size_type __pos, siz…
1499 !__is_same_uncvref<_Tp, basic_string>::value,
1501 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1504 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s, size_type __n);
1505 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s);
1506 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(size_type __n, value_type __c);
1508 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1512 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1517 _LIBCPP_HIDE_FROM_ABI constexpr basic_string& assign_range(_Range&& __range) {
1532 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(initializer_list<value_ty…
1537 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1538 insert(size_type __pos1, const basic_string& __str) {
1543 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1551 !__is_same_uncvref<_Tp, basic_string>::value,
1553 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1556 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1557 insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n = npos);
1558 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s, size_ty…
1559 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s);
1560 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, size_type __n, value_type __c);
1571 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc());
1599 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& erase(size_type __pos = 0, size_type __n = npos);
1603 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1604 replace(size_type __pos1, size_type __n1, const basic_string& __str) {
1609 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1615 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1616 …replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
1620 !__is_same_uncvref<_Tp, basic_string>::value,
1622 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1625 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1627 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, const value_t…
1628 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, size_type __n…
1630 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1631 replace(const_iterator __i1, const_iterator __i2, const basic_string& __str) {
1637 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1643 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1648 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1653 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1659 _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1664 _LIBCPP_HIDE_FROM_ABI constexpr basic_string&
1666 basic_string __temp(from_range, std::forward<_Range>(__range), __alloc());
1672 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1681 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string
1683 return basic_string(*this, __pos, __n);
1686 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) con…
1687 return basic_string(*this, __pos, __n);
1690 …_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) && {
1691 return basic_string(std::move(*this), __pos, __n);
1695 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(basic_string& __str)
1717 find(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1729 rfind(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1741 find_first_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1755 find_last_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1769 find_first_not_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1783 find_last_not_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1796 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 int compare(const basic_string& __str) const _…
1807 compare(size_type __pos1, size_type __n1, const basic_string& __str) const;
1809 …compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type _…
1813 !__is_same_uncvref<_Tp, basic_string>::value,
1870 operator==(const basic_string<char, char_traits<char>, _Alloc>& __lhs,
1871 const basic_string<char, char_traits<char>, _Alloc>& __rhs) _NOEXCEPT;
2129 // For example, operator=(basic_string) performs a 'self' check.
2131 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_no_alias(const value_type* _…
2141 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2146 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __copy_assign_alloc(const basic_string& _…
2170 __copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT {}
2174 __move_assign(basic_string& __str, false_type) noexcept(__alloc_traits::is_always_equal::value);
2176 __move_assign(basic_string& __str, true_type)
2184 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __str)
2191 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __c, tr…
2196 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string&, false_…
2198 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2199 …_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string& __assign_external(const value_type* _…
2202 …inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_short(const value_type* __s, size_type…
2215 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
2233 std::__throw_length_error("basic_string");
2237 std::__throw_out_of_range("basic_string");
2240 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, const basic_st…
2241 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const value_type*, const basic_stri…
2242 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(value_type, const basic_string&);
2243 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, const value_ty…
2244 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, value_type);
2246 friend constexpr basic_string operator+ <>(const basic_string&, type_identity_t<__self_view>);
2247 friend constexpr basic_string operator+ <>(type_identity_t<__self_view>, const basic_string&);
2273 basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
2274 -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
2280 explicit basic_string(basic_string_view<_CharT, _Traits>,
2281 … const _Allocator& = _Allocator()) -> basic_string<_CharT, _Traits, _Allocator>;
2288 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2289 -> basic_string<_CharT, _Traits, _Allocator>;
2296 basic_string(from_range_t, _Range&&, _Allocator = _Allocator())
2297 …-> basic_string<ranges::range_value_t<_Range>, char_traits<ranges::range_value_t<_Range>>, _Alloca…
2302 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz, size_type …
2326 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz) {
2350 basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(const value_type* __s, size_ty…
2373 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n,…
2399 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last) {
2406 basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator __first, _Sentinel _…
2428 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last…
2436 basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __first, _Sentinel __las…
2473 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace(
2517 _LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__g…
2548 basic_string<_CharT, _Traits, _Allocator>::__grow_by_without_replace(
2566 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2567 basic_string<_CharT, _Traits, _Allocator>::__assign_no_alias(const value_type* __s, size_type __n) {
2587 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2588 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s, size_type __n) {
2605 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2606 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n) {
2612 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2613 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c) {
2628 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2629 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c) {
2649 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string<_CharT, _Traits, _…
2650 basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str) {
2674 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__move_assign(
2675 basic_string& __str, false_type) noexcept(__alloc_traits::is_always_equal::value) {
2684 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2733 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2734 basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last) {
2742 basic_string<_CharT, _Traits, _Allocator>::__assign_with_sentinel(_InputIterator __first, _Sentinel…
2743 …const basic_string __temp(__init_with_sentinel_tag(), std::move(__first), std::move(__last), __all…
2749 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2750 basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last…
2764 basic_string<_CharT, _Traits, _Allocator>::__assign_trivial(_Iterator __first, _Sentinel __last, si…
2792 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2793 basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_…
2803 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2805 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2806 basic_string<_CharT, _Traits, _Allocator>::assign(const _Tp& __t, size_type __pos, size_type __n) {
2815 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2816 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
2821 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2822 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s) {
2832 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2833 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n) {
2852 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2853 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c) {
2871 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n) {
2886 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::push_back(value_type …
2917 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2918 basic_string<_CharT, _Traits, _Allocator>::append(_ForwardIterator __first, _ForwardIterator __last…
2931 const basic_string __temp(__first, __last, __alloc());
2939 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2940 basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_…
2950 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2952 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2953 basic_string<_CharT, _Traits, _Allocator>::append(const _Tp& __t, size_type __pos, size_type __n) {
2962 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2963 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s) {
2971 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2972 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type…
2999 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3000 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c) {
3027 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3028 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _InputIterator __first, _In…
3029 const basic_string __temp(__first, __last, __alloc());
3035 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3036 basic_string<_CharT, _Traits, _Allocator>::insert(
3044 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3045 basic_string<_CharT, _Traits, _Allocator>::__insert_with_size(
3054 const basic_string __temp(__init_with_sentinel_tag(), __first, __last, __alloc());
3060 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3061 basic_string<_CharT, _Traits, _Allocator>::insert(
3062 size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) {
3072 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3074 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3075 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const _Tp& __t, size_type __pos…
3084 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3085 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s) {
3091 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3092 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c) {
3116 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3117 basic_string<_CharT, _Traits, _Allocator>::replace(
3161 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3162 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2,…
3188 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3189 basic_string<_CharT, _Traits, _Allocator>::replace(
3191 const basic_string __temp(__j1, __j2, __alloc());
3196 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3197 basic_string<_CharT, _Traits, _Allocator>::replace(
3198 size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) {
3208 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3210 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3211 basic_string<_CharT, _Traits, _Allocator>::replace(
3221 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3222 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3233 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(size_type __pos, size_type __…
3246 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3247 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n) {
3259 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3260 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos) {
3270 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3271 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last) {
3280 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::pop_back() {
3286 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXC…
3299 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n,…
3309 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n) {
3318 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __r…
3337 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit(…
3347 basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target_capacity) {
3409 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3410 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const {
3417 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::reference
3418 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) {
3425 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3426 basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) co…
3436 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_str…
3470 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3471 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos, size_type _…
3477 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3478 basic_string<_CharT, _Traits, _Allocator>::find(const basic_string& __str, size_type __pos) const _…
3484 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3485 basic_string<_CharT, _Traits, _Allocator>::find(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3491 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3492 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos) const _NOEX…
3499 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3500 basic_string<_CharT, _Traits, _Allocator>::find(value_type __c, size_type __pos) const _NOEXCEPT {
3507 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3508 basic_string<_CharT, _Traits, _Allocator>::rfind(
3515 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3516 basic_string<_CharT, _Traits, _Allocator>::rfind(const basic_string& __str, size_type __pos) const …
3522 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3523 basic_string<_CharT, _Traits, _Allocator>::rfind(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3529 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3530 basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s, size_type __pos) const _NOE…
3537 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3538 basic_string<_CharT, _Traits, _Allocator>::rfind(value_type __c, size_type __pos) const _NOEXCEPT {
3545 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3546 basic_string<_CharT, _Traits, _Allocator>::find_first_of(
3553 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3554 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __str, size_type __pos…
3561 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3562 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const _Tp& __t, size_type __pos) const _NO…
3569 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3570 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s, size_type __pos) co…
3577 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3578 basic_string<_CharT, _Traits, _Allocator>::find_first_of(value_type __c, size_type __pos) const _NO…
3585 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3586 basic_string<_CharT, _Traits, _Allocator>::find_last_of(
3593 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3594 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __str, size_type __pos)…
3601 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3602 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const _Tp& __t, size_type __pos) const _NOE…
3609 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3610 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s, size_type __pos) con…
3617 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3618 basic_string<_CharT, _Traits, _Allocator>::find_last_of(value_type __c, size_type __pos) const _NOE…
3625 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3626 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3633 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3634 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3635 const basic_string& __str, size_type __pos) const _NOEXCEPT {
3642 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3643 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const _Tp& __t, size_type __pos) const…
3650 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3651 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s, size_type __pos…
3658 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3659 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c, size_type __pos) const…
3666 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3667 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3674 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3675 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3676 const basic_string& __str, size_type __pos) const _NOEXCEPT {
3683 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3684 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const _Tp& __t, size_type __pos) const …
3691 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3692 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s, size_type __pos)…
3699 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3700 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c, size_type __pos) const …
3708 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t…
3724 basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT {
3729 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3749 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const _Tp& __t…
3756 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const basic_st…
3763 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3765 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3772 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3773 …size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) con…
3779 basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT {
3786 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const value_ty…
3794 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 bool basic_string<_CharT, _Traits, _Allocator>::__invariants()…
3809 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__clear_and_sh…
3822 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3823 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3834 operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
3835 const basic_string<char, char_traits<char>, _Allocator>& __rhs) _NOEXCEPT {
3845 operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3846 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3847 _LIBCPP_ASSERT_NON_NULL(__lhs != nullptr, "operator==(char*, basic_string): received nullptr");
3857 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3861 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3862 _LIBCPP_ASSERT_NON_NULL(__rhs != nullptr, "operator==(basic_string, char*): received nullptr");
3873 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& _…
3874 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
3880 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3887 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3888 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3894 operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3900 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3907 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3908 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3914 operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3920 operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3927 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3928 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3934 operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3940 operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3947 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3948 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3954 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3960 operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3967 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3968 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3974 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3980 operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3988 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3989 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3990 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3991 using _String = basic_string<_CharT, _Traits, _Allocator>;
4005 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4006 operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
4007 using _String = basic_string<_CharT, _Traits, _Allocator>;
4021 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4022 operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
4023 using _String = basic_string<_CharT, _Traits, _Allocator>;
4036 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4037 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
4038 using _String = basic_string<_CharT, _Traits, _Allocator>;
4052 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4053 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs) {
4054 using _String = basic_string<_CharT, _Traits, _Allocator>;
4069 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4070 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _A…
4075 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4076 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Al…
4081 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4082 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocat…
4087 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4088 operator+(const _CharT* __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
4093 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4094 operator+(_CharT __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
4100 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4101 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs) {
4106 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
4107 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs) {
4117 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4118 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4120 using _String = basic_string<_CharT, _Traits, _Allocator>;
4134 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4135 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs,
4142 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4144 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
4145 using _String = basic_string<_CharT, _Traits, _Allocator>;
4159 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4161 basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
4172 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>& _…
4220 _LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
4221 basic_string<_CharT, _Traits, _Allocator>::npos;
4224 struct __string_hash : public __unary_function<basic_string<_CharT, char_traits<_CharT>, _Allocator…
4226 operator()(const basic_string<_CharT, char_traits<_CharT>, _Allocator>& __val) const _NOEXCEPT {
4232 struct hash<basic_string<char, char_traits<char>, _Allocator> > : __string_hash<char, _Allocator> {…
4236 struct hash<basic_string<char8_t, char_traits<char8_t>, _Allocator> > : __string_hash<char8_t, _All…
4240 struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __string_hash<char16_t, _…
4243 struct hash<basic_string<char32_t, char_traits<char32_t>, _Allocator> > : __string_hash<char32_t, _…
4247 struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Allocator> > : __string_hash<wchar_t, _All…
4252 operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& _…
4256 operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4260 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _Ch…
4264 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4268 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _C…
4272 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4276 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4277 erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
4284 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4285 erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred) {
4293 // Literal suffixes for basic_string [basic.string.literals]
4296 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char>
4298 return basic_string<char>(__str, __len);
4302 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<wchar_t>
4304 return basic_string<wchar_t>(__str, __len);
4309 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string<char8_t> operator""s(const char8_t* __str, size…
4310 return basic_string<char8_t>(__str, __len);
4314 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char16_t>
4316 return basic_string<char16_t>(__str, __len);
4319 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char32_t>
4321 return basic_string<char32_t>(__str, __len);
4328 inline constexpr bool __format::__enable_insertable<std::basic_string<char>> = true;
4331 inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>> = true;