Lines Matching refs:basic_string

82 class basic_string
102 basic_string()
104 …explicit basic_string(const allocator_type& a); // con…
105basic_string(const basic_string& str); // con…
106 basic_string(basic_string&& str)
108 basic_string(const basic_string& str, size_type pos,
110 basic_string(const basic_string& str, size_type pos, size_type n,
112 constexpr basic_string(
113basic_string&& str, size_type pos, const Allocator& a = Allocator()); // since C…
114 constexpr basic_string(
115basic_string&& str, size_type pos, size_type n, const Allocator& a = Allocator()); // since C…
117basic_string(const T& t, size_type pos, size_type n, const Allocator& a = Allocator()); // C++17, …
119 …explicit basic_string(const T& t, const Allocator& a = Allocator()); // C++17, …
120basic_string(const value_type* s, const allocator_type& a = allocator_type()); // con…
121basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type()); // con…
122 basic_string(nullptr_t) = delete; // C++2b
123basic_string(size_type n, value_type c, const allocator_type& a = allocator_type()); // con…
125 basic_string(InputIterator begin, InputIterator end,
127basic_string(initializer_list<value_type>, const Allocator& = Allocator()); // con…
128basic_string(const basic_string&, const Allocator&); // con…
129basic_string(basic_string&&, const Allocator&); // con…
131 …~basic_string(); // con…
135basic_string& operator=(const basic_string& str); // con…
137basic_string& operator=(const T& t); // C++17, …
138 basic_string& operator=(basic_string&& str)
142basic_string& operator=(const value_type* s); // con…
143 basic_string& operator=(nullptr_t) = delete; // C++2b
144basic_string& operator=(value_type c); // con…
145basic_string& operator=(initializer_list<value_type>); // con…
185basic_string& operator+=(const basic_string& str); // con…
187basic_string& operator+=(const T& t); // C++17, …
188basic_string& operator+=(const value_type* s); // con…
189basic_string& operator+=(value_type c); // con…
190basic_string& operator+=(initializer_list<value_type>); // con…
192basic_string& append(const basic_string& str); // con…
194basic_string& append(const T& t); // C++17, …
195basic_string& append(const basic_string& str, size_type pos, size_type n=npos); // C++…
197basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17, …
198basic_string& append(const value_type* s, size_type n); // con…
199basic_string& append(const value_type* s); // con…
200basic_string& append(size_type n, value_type c); // con…
202basic_string& append(InputIterator first, InputIterator last); // constex…
203basic_string& append(initializer_list<value_type>); // con…
212basic_string& assign(const basic_string& str); // con…
214basic_string& assign(const T& t); // C++17, …
215basic_string& assign(basic_string&& str); // con…
216basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++…
218basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17, …
219basic_string& assign(const value_type* s, size_type n); // con…
220basic_string& assign(const value_type* s); // con…
221basic_string& assign(size_type n, value_type c); // con…
223basic_string& assign(InputIterator first, InputIterator last); // constex…
224basic_string& assign(initializer_list<value_type>); // con…
226basic_string& insert(size_type pos1, const basic_string& str); // con…
228basic_string& insert(size_type pos1, const T& t); // constex…
229 basic_string& insert(size_type pos1, const basic_string& str,
232basic_string& insert(size_type pos1, const T& t, size_type pos2, size_type n); // C++17, …
233basic_string& insert(size_type pos, const value_type* s, size_type n=npos); // C++…
234basic_string& insert(size_type pos, const value_type* s); // con…
235basic_string& insert(size_type pos, size_type n, value_type c); // con…
242basic_string& erase(size_type pos = 0, size_type n = npos); // con…
246basic_string& replace(size_type pos1, size_type n1, const basic_string& str); // con…
248basic_string& replace(size_type pos1, size_type n1, const T& t); // C++…
249 basic_string& replace(size_type pos1, size_type n1, const basic_string& str,
252 basic_string& replace(size_type pos1, size_type n1, const T& t,
254basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2); // con…
255basic_string& replace(size_type pos, size_type n1, const value_type* s); // con…
256basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c); // con…
257basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str); // con…
259basic_string& replace(const_iterator i1, const_iterator i2, const T& t); // C++17, …
260basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n); // …
261basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s); // con…
262basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c); // con…
264basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2); /…
265basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>); // con…
268basic_string substr(size_type pos = 0, size_type n = npos) const; // con…
269basic_string substr(size_type pos = 0, size_type n = npos) const&; // sin…
270 …constexpr basic_string substr(size_type pos = 0, size_type n = npos) &&; // sin…
271 void swap(basic_string& str)
281 …size_type find(const basic_string& str, size_type pos = 0) const noexcept; // con…
288 …size_type rfind(const basic_string& str, size_type pos = npos) const noexcept; // con…
295 …size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept; // con…
302 …size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept; // con…
309 …size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept; // con…
316 …size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept; // con…
323 …int compare(const basic_string& str) const noexcept; // con…
326 …int compare(size_type pos1, size_type n1, const basic_string& str) const; // con…
329 int compare(size_type pos1, size_type n1, const basic_string& str,
352 basic_string(InputIterator, InputIterator, Allocator = Allocator())
353 -> basic_string<typename iterator_traits<InputIterator>::value_type,
358 basic_string<charT, traits, Allocator>
359 operator+(const basic_string<charT, traits, Allocator>& lhs,
360 …const basic_string<charT, traits, Allocator>& rhs); // constexpr…
363 basic_string<charT, traits, Allocator>
364 operator+(const charT* lhs , const basic_string<charT,traits,Allocator>&rhs); // …
367 basic_string<charT, traits, Allocator>
368 operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs); // …
371 basic_string<charT, traits, Allocator>
372 operator+(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs); // …
375 basic_string<charT, traits, Allocator>
376 operator+(const basic_string<charT, traits, Allocator>& lhs, charT rhs); // …
379 bool operator==(const basic_string<charT, traits, Allocator>& lhs,
380 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // constexpr since…
383 bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
386 bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept; // …
389 bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
390 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
393 bool operator!=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
396 bool operator!=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
399 bool operator< (const basic_string<charT, traits, Allocator>& lhs,
400 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
403 bool operator< (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
406 bool operator< (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
409 bool operator> (const basic_string<charT, traits, Allocator>& lhs,
410 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
413 bool operator> (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
416 bool operator> (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
419 bool operator<=(const basic_string<charT, traits, Allocator>& lhs,
420 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
423 bool operator<=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
426 bool operator<=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
429 bool operator>=(const basic_string<charT, traits, Allocator>& lhs,
430 …const basic_string<charT, traits, Allocator>& rhs) noexcept; // removed in C++20
433 bool operator>=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept; // …
436 bool operator>=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept; // …
439 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
440 const basic_string<charT, traits, Allocator>& rhs) noexcept;
443 constexpr see below operator<=>(const basic_string<charT, traits, Allocator>& lhs,
447 void swap(basic_string<charT, traits, Allocator>& lhs,
448 basic_string<charT, traits, Allocator>& rhs)
453 operator>>(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
457 operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
461 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
466 getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
469 typename basic_string<charT, traits, Allocator>::size_type
470 erase(basic_string<charT, traits, Allocator>& c, const U& value); // C++20
472 typename basic_string<charT, traits, Allocator>::size_type
473 erase_if(basic_string<charT, traits, Allocator>& c, Predicate pred); // C++20
475 typedef basic_string<char> string;
476 typedef basic_string<wchar_t> wstring;
477 typedef basic_string<char8_t> u8string; // C++20
478 typedef basic_string<char16_t> u16string;
479 typedef basic_string<char32_t> u32string;
527 basic_string<char> operator "" s( const char *str, size_t len ); // C++14, conste…
528 basic_string<wchar_t> operator "" s( const wchar_t *str, size_t len ); // C++14, conste…
529 constexpr basic_string<char8_t> operator "" s( const char8_t *str, size_t len ); // C++20
530 basic_string<char16_t> operator "" s( const char16_t *str, size_t len ); // C++14, conste…
531 basic_string<char32_t> operator "" s( const char32_t *str, size_t len ); // C++14, conste…
607 // basic_string
610 basic_string<_CharT, _Traits, _Allocator>
612 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x,
613 const basic_string<_CharT, _Traits, _Allocator>& __y);
617 basic_string<_CharT, _Traits, _Allocator>
618 operator+(const _CharT* __x, const basic_string<_CharT,_Traits,_Allocator>& __y);
622 basic_string<_CharT, _Traits, _Allocator>
623 operator+(_CharT __x, const basic_string<_CharT,_Traits,_Allocator>& __y);
627 basic_string<_CharT, _Traits, _Allocator>
628 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const _CharT* __y);
632 basic_string<_CharT, _Traits, _Allocator>
633 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
657 class basic_string
660 typedef basic_string __self;
673 …static_assert((!is_array<value_type>::value), "Character type of basic_string must not be an array…
674 …static_assert(( is_standard_layout<value_type>::value), "Character type of basic_string must be st…
675 … static_assert(( is_trivial<value_type>::value), "Character type of basic_string must be trivial");
798 explicit basic_string(__uninitialized_size_tag, size_type __size, const allocator_type& __a)
827 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string()
834 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const allocator_type& __…
845 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const basic_string& __str);
846 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const basic_string& __str, const allocator_type& __a);
849 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str)
862 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str, const alloc…
879 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s)
881 _LIBCPP_ASSERT(__s != nullptr, "basic_string(const char*) detected nullptr");
887 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, const _Allocat…
890 basic_string(nullptr_t) = delete;
893 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n)
895 _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr");
901 basic_string(const _CharT* __s, size_type __n, const _Allocator& __a)
903 …_LIBCPP_ASSERT(__n == 0 || __s != nullptr, "basic_string(const char*, n, allocator) detected nullp…
908 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c)
916 basic_string(basic_string&& __str, size_type __pos, const _Allocator& __alloc = _Allocator())
917 : basic_string(std::move(__str), __pos, npos, __alloc) {}
920basic_string(basic_string&& __str, size_type __pos, size_type __n, const _Allocator& __alloc = _Al…
945 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c, const …
948basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Allocator& __a = _A…
951 basic_string(const basic_string& __str, size_type __pos, const _Allocator& __a = _Allocator())
962 !__is_same_uncvref<_Tp, basic_string>::value> >
964basic_string(const _Tp& __t, size_type __pos, size_type __n, const allocator_type& __a = allocator…
968 !__is_same_uncvref<_Tp, basic_string>::value> >
969 …CPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
974 !__is_same_uncvref<_Tp, basic_string>::value> >
975 …CPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(
979 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(_InputIterator __first, _InputIte…
987 basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a)
994 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il)
1000 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il, co…
1007 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 ~basic_string();
1012 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const basic_string& __str);
1015 !__is_same_uncvref<_Tp, basic_string>::value> >
1016 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const _Tp& __t) {
1022 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(basic_string&& __str)
1029basic_string& operator=(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size(…
1032 basic_string& operator=(const value_type* __s) {return assign(__s);}
1034 basic_string& operator=(nullptr_t) = delete;
1036 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(value_type __c);
1131 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const basic_string& _…
1140 && !__is_same_uncvref<_Tp, basic_string >::value,
1141 basic_string&
1147 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(const value_type* __s…
1151 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(value_type __c) {
1158 basic_string& operator+=(initializer_list<value_type> __il) { return append(__il); }
1161 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str…
1169 && !__is_same_uncvref<_Tp, basic_string>::value,
1170 basic_string&
1173 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str, size_type __pos, siz…
1180 && !__is_same_uncvref<_Tp, basic_string>::value,
1181 basic_string&
1184 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s, size_type __n);
1185 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const value_type* __s);
1186 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(size_type __n, value_type __c);
1196 basic_string&
1200 const basic_string __temp(__first, __last, __alloc());
1209 basic_string&
1216basic_string& append(initializer_list<value_type> __il) {return append(__il.begin(), __il.size());}
1247 basic_string&
1251 basic_string& assign(const basic_string& __str) { return *this = __str; }
1254 basic_string& assign(basic_string&& __str)
1258 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str, size_type __pos, siz…
1264 && !__is_same_uncvref<_Tp, basic_string>::value,
1265 basic_string&
1268 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s, size_type __n);
1269 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const value_type* __s);
1270 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(size_type __n, value_type __c);
1276 basic_string&
1284 basic_string&
1289basic_string& assign(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());}
1292 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1293 insert(size_type __pos1, const basic_string& __str) {
1302 basic_string&
1311 …verted_to_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string>::value,
1312 basic_string&
1316basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n=…
1317 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s, size_ty…
1318 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, const value_type* __s);
1319 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, size_type __n, value_type __c);
1353 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& erase(size_type __pos = 0, size_type __n = npos);
1359 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1360 replace(size_type __pos1, size_type __n1, const basic_string& __str) {
1369 basic_string&
1373basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos…
1378 …erted_to_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string>::value,
1379 basic_string&
1383 basic_string& replace(size_type __pos, size_type __n1, const value_type* __s, size_type __n2);
1384 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, const value_t…
1385 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& replace(size_type __pos, size_type __n1, size_type __n…
1387 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1388 replace(const_iterator __i1, const_iterator __i2, const basic_string& __str) {
1398 basic_string&
1402 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1407 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1412 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
1422 basic_string&
1427basic_string& replace(const_iterator __i1, const_iterator __i2, initializer_list<value_type> __il)
1435 basic_string substr(size_type __pos = 0, size_type __n = npos) const {
1436 return basic_string(*this, __pos, __n);
1440 basic_string substr(size_type __pos = 0, size_type __n = npos) const& {
1441 return basic_string(*this, __pos, __n);
1445 basic_string substr(size_type __pos = 0, size_type __n = npos) && {
1446 return basic_string(std::move(*this), __pos, __n);
1451 void swap(basic_string& __str)
1472 size_type find(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1489 size_type rfind(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1506 size_type find_first_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1524 size_type find_last_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1542 size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
1560 size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
1578 int compare(const basic_string& __str) const _NOEXCEPT;
1599 int compare(size_type __pos1, size_type __n1, const basic_string& __str) const;
1601 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2,
1608 …erted_to_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string>::value,
1673 bool friend operator==(const basic_string<char, char_traits<char>, _Alloc>& __lhs,
1674 const basic_string<char, char_traits<char>, _Alloc>& __rhs) _NOEXCEPT;
1868 // For example, operator=(basic_string) performs a 'self' check.
1870 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_no_alias(const value_type* __s, size_type __n…
1881 void __copy_assign_alloc(const basic_string& __str)
1886 void __copy_assign_alloc(const basic_string& __str, true_type)
1912 void __copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT
1917 void __move_assign(basic_string& __str, false_type)
1920 void __move_assign(basic_string& __str, true_type)
1930 __move_assign_alloc(basic_string& __str)
1938 void __move_assign_alloc(basic_string& __c, true_type)
1945 void __move_assign_alloc(basic_string&, false_type)
1949 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_external(const value_type* __s);
1950 …_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& __assign_external(const value_type* __s, size_type __n…
1953 inline basic_string& __assign_short(const value_type* __s, size_type __n) {
1963 basic_string& __null_terminate_at(value_type* __p, size_type __newsz) {
1984 std::__throw_length_error("basic_string");
1989 std::__throw_out_of_range("basic_string");
1992 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+<>(const basic_string&, const basic_str…
1993 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+<>(const value_type*, const basic_strin…
1994 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+<>(value_type, const basic_string&);
1995 …friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+<>(const basic_string&, const value_typ…
1996 friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+<>(const basic_string&, value_type);
2023 basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
2024 -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
2031 explicit basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
2032 -> basic_string<_CharT, _Traits, _Allocator>;
2040 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2041 -> basic_string<_CharT, _Traits, _Allocator>;
2047 basic_string<_CharT, _Traits, _Allocator>::__invalidate_iterators_past(size_type __pos)
2076 void basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s,
2106 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz)
2134 basic_string<_CharT, _Traits, _Allocator>::basic_string(const _CharT* __s, const _Allocator& __a)
2137 _LIBCPP_ASSERT(__s != nullptr, "basic_string(const char*, allocator) detected nullptr");
2144 basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str)
2157 basic_string<_CharT, _Traits, _Allocator>::basic_string(
2158 const basic_string& __str, const allocator_type& __a)
2171 void basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(
2196 basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n, value_type __c)
2225 basic_string<_CharT, _Traits, _Allocator>::basic_string(size_type __n, _CharT __c, const _Allocator…
2234 basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str,
2249 basic_string<_CharT, _Traits, _Allocator>::basic_string(
2262 basic_string<_CharT, _Traits, _Allocator>::basic_string(const _Tp & __t)
2273 basic_string<_CharT, _Traits, _Allocator>::basic_string(const _Tp & __t, const _Allocator& __a)
2288 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last)
2315 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last)
2358 basic_string<_CharT, _Traits, _Allocator>::~basic_string()
2368 basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace
2404 basic_string<_CharT, _Traits, _Allocator>::__grow_by(size_type __old_cap, size_type __delta_cap, si…
2437 basic_string<_CharT, _Traits, _Allocator>&
2438 basic_string<_CharT, _Traits, _Allocator>::__assign_no_alias(
2456 basic_string<_CharT, _Traits, _Allocator>&
2457 basic_string<_CharT, _Traits, _Allocator>::__assign_external(
2473 basic_string<_CharT, _Traits, _Allocator>&
2474 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n)
2484 basic_string<_CharT, _Traits, _Allocator>&
2485 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c)
2500 basic_string<_CharT, _Traits, _Allocator>&
2501 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c)
2522 basic_string<_CharT, _Traits, _Allocator>&
2523 basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str)
2545 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, false_type)
2557 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2592 basic_string<_CharT, _Traits, _Allocator>&
2594 basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
2596 const basic_string __temp(__first, __last, __alloc());
2607 basic_string<_CharT, _Traits, _Allocator>&
2609 basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
2632 const basic_string __temp(__first, __last, __alloc());
2640 basic_string<_CharT, _Traits, _Allocator>&
2641 basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_…
2655 && !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2656 basic_string<_CharT, _Traits, _Allocator>&
2658 basic_string<_CharT, _Traits, _Allocator>::assign(const _Tp & __t, size_type __pos, size_type __n)
2670 basic_string<_CharT, _Traits, _Allocator>&
2671 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
2677 basic_string<_CharT, _Traits, _Allocator>&
2678 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s)
2691 basic_string<_CharT, _Traits, _Allocator>&
2692 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n)
2715 basic_string<_CharT, _Traits, _Allocator>&
2716 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c)
2735 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n)
2753 basic_string<_CharT, _Traits, _Allocator>::push_back(value_type __c)
2794 basic_string<_CharT, _Traits, _Allocator>&
2796 basic_string<_CharT, _Traits, _Allocator>::append(
2817 const basic_string __temp(__first, __last, __alloc());
2826 basic_string<_CharT, _Traits, _Allocator>&
2827 basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_…
2840 …_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits…
2841 basic_string<_CharT, _Traits, _Allocator>&
2843 basic_string<_CharT, _Traits, _Allocator>::append(const _Tp & __t, size_type __pos, size_type __n)
2854 basic_string<_CharT, _Traits, _Allocator>&
2855 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s)
2865 basic_string<_CharT, _Traits, _Allocator>&
2866 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type…
2905 basic_string<_CharT, _Traits, _Allocator>&
2906 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c)
2941 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2943 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _InputIterator __first, _In…
2948 const basic_string __temp(__first, __last, __alloc());
2958 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2960 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _ForwardIterator __first, _…
2976 const basic_string __temp(__first, __last, __alloc());
2983 basic_string<_CharT, _Traits, _Allocator>&
2984 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const basic_string& __str,
2998 …_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits…
2999 basic_string<_CharT, _Traits, _Allocator>&
3001 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const _Tp& __t,
3013 basic_string<_CharT, _Traits, _Allocator>&
3014 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s)
3022 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3023 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c)
3055 basic_string<_CharT, _Traits, _Allocator>&
3056 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3109 basic_string<_CharT, _Traits, _Allocator>&
3110 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2,…
3143 basic_string<_CharT, _Traits, _Allocator>&
3145 basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2,
3148 const basic_string __temp(__j1, __j2, __alloc());
3154 basic_string<_CharT, _Traits, _Allocator>&
3155 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos1, size_type __n1, const basic_st…
3169 …o_string_view<_CharT, _Traits, _Tp>::value && !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits…
3170 basic_string<_CharT, _Traits, _Allocator>&
3172 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos1, size_type __n1, const _Tp& __t,
3184 basic_string<_CharT, _Traits, _Allocator>&
3185 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3198 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(
3215 basic_string<_CharT, _Traits, _Allocator>&
3216 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos,
3230 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3231 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos)
3246 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3247 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last)
3263 basic_string<_CharT, _Traits, _Allocator>::pop_back()
3272 basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXCEPT
3290 basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n, value_type __c)
3301 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n)
3313 basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __requested_capacity)
3334 basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit() _NOEXCEPT
3345 basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target_capacity)
3408 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3409 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const
3418 typename basic_string<_CharT, _Traits, _Allocator>::reference
3419 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n)
3428 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3429 basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) co…
3442 basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
3477 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3478 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s,
3489 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3490 basic_string<_CharT, _Traits, _Allocator>::find(const basic_string& __str,
3503 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3505 basic_string<_CharT, _Traits, _Allocator>::find(const _Tp &__t,
3515 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3516 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s,
3526 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3527 basic_string<_CharT, _Traits, _Allocator>::find(value_type __c,
3538 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3539 basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s,
3550 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3551 basic_string<_CharT, _Traits, _Allocator>::rfind(const basic_string& __str,
3564 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3566 basic_string<_CharT, _Traits, _Allocator>::rfind(const _Tp& __t,
3576 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3577 basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s,
3587 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3588 basic_string<_CharT, _Traits, _Allocator>::rfind(value_type __c,
3599 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3600 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s,
3611 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3612 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __str,
3625 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3627 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const _Tp& __t,
3637 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3638 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s,
3648 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3649 basic_string<_CharT, _Traits, _Allocator>::find_first_of(value_type __c,
3659 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3660 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s,
3671 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3672 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __str,
3685 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3687 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const _Tp& __t,
3697 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3698 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s,
3708 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3709 basic_string<_CharT, _Traits, _Allocator>::find_last_of(value_type __c,
3719 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3720 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s,
3731 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3732 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const basic_string& __str,
3745 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3747 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const _Tp& __t,
3757 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3758 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s,
3768 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3769 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c,
3780 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3781 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s,
3792 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3793 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const basic_string& __str,
3806 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3808 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const _Tp& __t,
3818 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3819 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s,
3829 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3830 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c,
3847 basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t) const _NOEXCEPT
3866 basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT
3874 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3903 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3914 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3916 const basic_string& __str) const
3927 && !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3930 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3943 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3945 const basic_string& __str,
3955 basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT
3964 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
3977 basic_string<_CharT, _Traits, _Allocator>::__invariants() const
3995 basic_string<_CharT, _Traits, _Allocator>::__clear_and_shrink() _NOEXCEPT
4010 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4011 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4026 operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
4027 const basic_string<char, char_traits<char>, _Allocator>& __rhs) _NOEXCEPT
4047 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4049 typedef basic_string<_CharT, _Traits, _Allocator> _String;
4050 _LIBCPP_ASSERT(__lhs != nullptr, "operator==(char*, basic_string): received nullptr");
4060 operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
4066 typedef basic_string<_CharT, _Traits, _Allocator> _String;
4067 _LIBCPP_ASSERT(__rhs != nullptr, "operator==(basic_string, char*): received nullptr");
4078 const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4079 const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
4085 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
4094 operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
4095 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4104 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4112 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4123 operator< (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4124 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4132 operator< (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4142 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4152 operator> (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4153 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4161 operator> (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4171 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4181 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4182 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4190 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4200 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4210 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4211 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4219 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4229 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
4239 basic_string<_CharT, _Traits, _Allocator>
4240 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4241 const basic_string<_CharT, _Traits, _Allocator>& __rhs)
4243 using _String = basic_string<_CharT, _Traits, _Allocator>;
4258 basic_string<_CharT, _Traits, _Allocator>
4259 operator+(const _CharT* __lhs , const basic_string<_CharT,_Traits,_Allocator>& __rhs)
4261 using _String = basic_string<_CharT, _Traits, _Allocator>;
4276 basic_string<_CharT, _Traits, _Allocator>
4277 operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Allocator>& __rhs)
4279 using _String = basic_string<_CharT, _Traits, _Allocator>;
4293 basic_string<_CharT, _Traits, _Allocator>
4294 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs)
4296 using _String = basic_string<_CharT, _Traits, _Allocator>;
4311 basic_string<_CharT, _Traits, _Allocator>
4312 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs)
4314 using _String = basic_string<_CharT, _Traits, _Allocator>;
4330 basic_string<_CharT, _Traits, _Allocator>
4331 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _A…
4338 basic_string<_CharT, _Traits, _Allocator>
4339 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Al…
4346 basic_string<_CharT, _Traits, _Allocator>
4347 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocat…
4354 basic_string<_CharT, _Traits, _Allocator>
4355 operator+(const _CharT* __lhs , basic_string<_CharT,_Traits,_Allocator>&& __rhs)
4362 basic_string<_CharT, _Traits, _Allocator>
4363 operator+(_CharT __lhs, basic_string<_CharT,_Traits,_Allocator>&& __rhs)
4371 basic_string<_CharT, _Traits, _Allocator>
4372 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs)
4379 basic_string<_CharT, _Traits, _Allocator>
4380 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs)
4393 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs,
4394 basic_string<_CharT, _Traits, _Allocator>& __rhs)
4444 const typename basic_string<_CharT, _Traits, _Allocator>::size_type
4445 basic_string<_CharT, _Traits, _Allocator>::npos;
4448 struct __string_hash : public __unary_function<basic_string<_CharT, char_traits<_CharT>, _Allocator…
4451 operator()(const basic_string<_CharT, char_traits<_CharT>, _Allocator>& __val) const _NOEXCEPT
4456 struct hash<basic_string<char, char_traits<char>, _Allocator> > : __string_hash<char, _Allocator> {…
4460 struct hash<basic_string<char8_t, char_traits<char8_t>, _Allocator> > : __string_hash<char8_t, _All…
4464 struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __string_hash<char16_t, _…
4467 struct hash<basic_string<char32_t, char_traits<char32_t>, _Allocator> > : __string_hash<char32_t, _…
4471 struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Allocator> > : __string_hash<wchar_t, _All…
4477 const basic_string<_CharT, _Traits, _Allocator>& __str);
4482 basic_string<_CharT, _Traits, _Allocator>& __str);
4487 basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm);
4493 basic_string<_CharT, _Traits, _Allocator>& __str);
4499 basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm);
4505 basic_string<_CharT, _Traits, _Allocator>& __str);
4510 typename basic_string<_CharT, _Traits, _Allocator>::size_type
4511 erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
4519 typename basic_string<_CharT, _Traits, _Allocator>::size_type
4520 erase_if(basic_string<_CharT, _Traits, _Allocator>& __str,
4533 basic_string<_CharT, _Traits, _Allocator>::__dereferenceable(const const_iterator* __i) const
4541 basic_string<_CharT, _Traits, _Allocator>::__decrementable(const const_iterator* __i) const
4549 basic_string<_CharT, _Traits, _Allocator>::__addable(const const_iterator* __i, ptrdiff_t __n) const
4557 basic_string<_CharT, _Traits, _Allocator>::__subscriptable(const const_iterator* __i, ptrdiff_t __n…
4566 // Literal suffixes for basic_string [basic.string.literals]
4572 basic_string<char> operator "" s( const char *__str, size_t __len )
4574 return basic_string<char> (__str, __len);
4579 basic_string<wchar_t> operator "" s( const wchar_t *__str, size_t __len )
4581 return basic_string<wchar_t> (__str, __len);
4587 basic_string<char8_t> operator "" s(const char8_t *__str, size_t __len)
4589 return basic_string<char8_t> (__str, __len);
4594 basic_string<char16_t> operator "" s( const char16_t *__str, size_t __len )
4596 return basic_string<char16_t> (__str, __len);
4600 basic_string<char32_t> operator "" s( const char32_t *__str, size_t __len )
4602 return basic_string<char32_t> (__str, __len);
4609 inline constexpr bool __format::__enable_insertable<std::basic_string<char>> = true;
4612 inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>> = true;