Lines Matching refs:_Traits

689 template <class _CharT, class _Traits, class _Allocator>
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,…
693 template <class _CharT, class _Traits, class _Allocator>
694 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
695 operator+(const _CharT* __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
697 template <class _CharT, class _Traits, class _Allocator>
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);
701 template <class _CharT, class _Traits, class _Allocator>
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);
705 template <class _CharT, class _Traits, class _Allocator>
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);
711 template <class _CharT, class _Traits, class _Allocator>
712 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
713 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
714 type_identity_t<basic_string_view<_CharT, _Traits>> __rhs);
716 template <class _CharT, class _Traits, class _Allocator>
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…
720 template <class _CharT, class _Traits, class _Allocator>
721 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
722 operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs,
723 const basic_string<_CharT, _Traits, _Allocator>& __rhs);
725 template <class _CharT, class _Traits, class _Allocator>
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, …
743 template <class _CharT, class _Traits, class _Tp>
745 … : public _BoolConstant< is_convertible<const _Tp&, basic_string_view<_CharT, _Traits> >::value &&
751 template <class _CharT, class _Traits, class _Allocator>
758 typedef basic_string_view<_CharT, _Traits> __self_view;
759 typedef _Traits traits_type;
1139 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1151 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1161 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1223 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1351 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1380 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1392 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1455 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1473 _Traits::move(data(), data() + __pos, __len);
1475 _Traits::assign(data()[__len], value_type());
1498 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1542 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1550 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1608 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1619 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1636 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1719 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1731 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1743 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1757 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1771 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1785 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1798 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1802 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1812 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1829 return !empty() && _Traits::eq(front(), __c);
1841 return !empty() && _Traits::eq(back(), __c);
2277 class _Traits,
2280 explicit basic_string(basic_string_view<_CharT, _Traits>,
2281 … const _Allocator& = _Allocator()) -> basic_string<_CharT, _Traits, _Allocator>;
2284 class _Traits,
2288 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2289 -> basic_string<_CharT, _Traits, _Allocator>;
2300 template <class _CharT, class _Traits, class _Allocator>
2302 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz, size_type …
2324 template <class _CharT, class _Traits, class _Allocator>
2326 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz) {
2348 template <class _CharT, class _Traits, class _Allocator>
2350 basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(const value_type* __s, size_ty…
2372 template <class _CharT, class _Traits, class _Allocator>
2373 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n,…
2396 template <class _CharT, class _Traits, class _Allocator>
2399 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last) {
2403 template <class _CharT, class _Traits, class _Allocator>
2406 basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator __first, _Sentinel _…
2425 template <class _CharT, class _Traits, class _Allocator>
2428 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last…
2433 template <class _CharT, class _Traits, class _Allocator>
2436 basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __first, _Sentinel __las…
2472 template <class _CharT, class _Traits, class _Allocator>
2473 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace(
2512 template <class _CharT, class _Traits, class _Allocator>
2517 _LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__g…
2546 template <class _CharT, class _Traits, class _Allocator>
2548 basic_string<_CharT, _Traits, _Allocator>::__grow_by_without_replace(
2564 template <class _CharT, class _Traits, class _Allocator>
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) {
2586 template <class _CharT, class _Traits, class _Allocator>
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) {
2604 template <class _CharT, class _Traits, class _Allocator>
2605 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2606 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n) {
2611 template <class _CharT, class _Traits, class _Allocator>
2612 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2613 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c) {
2627 template <class _CharT, class _Traits, class _Allocator>
2628 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2629 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c) {
2648 template <class _CharT, class _Traits, class _Allocator>
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) {
2673 template <class _CharT, class _Traits, class _Allocator>
2674 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__move_assign(
2682 template <class _CharT, class _Traits, class _Allocator>
2684 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2731 template <class _CharT, class _Traits, class _Allocator>
2733 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2734 basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last) {
2739 template <class _CharT, class _Traits, class _Allocator>
2742 basic_string<_CharT, _Traits, _Allocator>::__assign_with_sentinel(_InputIterator __first, _Sentinel…
2747 template <class _CharT, class _Traits, class _Allocator>
2749 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2750 basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last…
2761 template <class _CharT, class _Traits, class _Allocator>
2764 basic_string<_CharT, _Traits, _Allocator>::__assign_trivial(_Iterator __first, _Sentinel __last, si…
2791 template <class _CharT, class _Traits, class _Allocator>
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_…
2800 template <class _CharT, class _Traits, class _Allocator>
2802 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
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) {
2814 template <class _CharT, class _Traits, class _Allocator>
2815 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2816 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
2820 template <class _CharT, class _Traits, class _Allocator>
2821 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2822 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s) {
2831 template <class _CharT, class _Traits, class _Allocator>
2832 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2833 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n) {
2851 template <class _CharT, class _Traits, class _Allocator>
2852 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2853 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c) {
2869 template <class _CharT, class _Traits, class _Allocator>
2871 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n) {
2885 template <class _CharT, class _Traits, class _Allocator>
2886 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::push_back(value_type …
2915 template <class _CharT, class _Traits, class _Allocator>
2917 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2918 basic_string<_CharT, _Traits, _Allocator>::append(_ForwardIterator __first, _ForwardIterator __last…
2938 template <class _CharT, class _Traits, class _Allocator>
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_…
2947 template <class _CharT, class _Traits, class _Allocator>
2949 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
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) {
2961 template <class _CharT, class _Traits, class _Allocator>
2962 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2963 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s) {
2970 template <class _CharT, class _Traits, class _Allocator>
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…
2998 template <class _CharT, class _Traits, class _Allocator>
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) {
3025 template <class _CharT, class _Traits, class _Allocator>
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…
3033 template <class _CharT, class _Traits, class _Allocator>
3035 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3036 basic_string<_CharT, _Traits, _Allocator>::insert(
3042 template <class _CharT, class _Traits, class _Allocator>
3044 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3045 basic_string<_CharT, _Traits, _Allocator>::__insert_with_size(
3059 template <class _CharT, class _Traits, class _Allocator>
3060 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3061 basic_string<_CharT, _Traits, _Allocator>::insert(
3069 template <class _CharT, class _Traits, class _Allocator>
3071 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
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…
3083 template <class _CharT, class _Traits, class _Allocator>
3084 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3085 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s) {
3090 template <class _CharT, class _Traits, class _Allocator>
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) {
3115 template <class _CharT, class _Traits, class _Allocator>
3116 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3117 basic_string<_CharT, _Traits, _Allocator>::replace(
3160 template <class _CharT, class _Traits, class _Allocator>
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,…
3186 template <class _CharT, class _Traits, class _Allocator>
3188 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3189 basic_string<_CharT, _Traits, _Allocator>::replace(
3195 template <class _CharT, class _Traits, class _Allocator>
3196 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3197 basic_string<_CharT, _Traits, _Allocator>::replace(
3205 template <class _CharT, class _Traits, class _Allocator>
3207 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
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(
3220 template <class _CharT, class _Traits, class _Allocator>
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…
3231 template <class _CharT, class _Traits, class _Allocator>
3233 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(size_type __pos, size_type __…
3245 template <class _CharT, class _Traits, class _Allocator>
3246 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3247 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n) {
3258 template <class _CharT, class _Traits, class _Allocator>
3259 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3260 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos) {
3269 template <class _CharT, class _Traits, class _Allocator>
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) {
3279 template <class _CharT, class _Traits, class _Allocator>
3280 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::pop_back() {
3285 template <class _CharT, class _Traits, class _Allocator>
3286 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXC…
3298 template <class _CharT, class _Traits, class _Allocator>
3299 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n,…
3307 template <class _CharT, class _Traits, class _Allocator>
3309 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n) {
3317 template <class _CharT, class _Traits, class _Allocator>
3318 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __r…
3336 template <class _CharT, class _Traits, class _Allocator>
3337 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit(…
3345 template <class _CharT, class _Traits, class _Allocator>
3347 basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target_capacity) {
3408 template <class _CharT, class _Traits, class _Allocator>
3409 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3410 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const {
3416 template <class _CharT, class _Traits, class _Allocator>
3417 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::reference
3418 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) {
3424 template <class _CharT, class _Traits, class _Allocator>
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…
3435 template <class _CharT, class _Traits, class _Allocator>
3436 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_str…
3461 template <class _Traits>
3463 typedef typename _Traits::char_type char_type;
3465 return _Traits::eq(__x, __y);
3469 template <class _CharT, class _Traits, class _Allocator>
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 _…
3476 template <class _CharT, class _Traits, class _Allocator>
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 _…
3482 template <class _CharT, class _Traits, class _Allocator>
3483 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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 {
3490 template <class _CharT, class _Traits, class _Allocator>
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…
3498 template <class _CharT, class _Traits, class _Allocator>
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 {
3506 template <class _CharT, class _Traits, class _Allocator>
3507 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3508 basic_string<_CharT, _Traits, _Allocator>::rfind(
3514 template <class _CharT, class _Traits, class _Allocator>
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 …
3520 template <class _CharT, class _Traits, class _Allocator>
3521 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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 {
3528 template <class _CharT, class _Traits, class _Allocator>
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…
3536 template <class _CharT, class _Traits, class _Allocator>
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 {
3544 template <class _CharT, class _Traits, class _Allocator>
3545 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3546 basic_string<_CharT, _Traits, _Allocator>::find_first_of(
3552 template <class _CharT, class _Traits, class _Allocator>
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…
3559 template <class _CharT, class _Traits, class _Allocator>
3560 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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…
3568 template <class _CharT, class _Traits, class _Allocator>
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…
3576 template <class _CharT, class _Traits, class _Allocator>
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…
3584 template <class _CharT, class _Traits, class _Allocator>
3585 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3586 basic_string<_CharT, _Traits, _Allocator>::find_last_of(
3592 template <class _CharT, class _Traits, class _Allocator>
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)…
3599 template <class _CharT, class _Traits, class _Allocator>
3600 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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…
3608 template <class _CharT, class _Traits, class _Allocator>
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…
3616 template <class _CharT, class _Traits, class _Allocator>
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…
3624 template <class _CharT, class _Traits, class _Allocator>
3625 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3626 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3632 template <class _CharT, class _Traits, class _Allocator>
3633 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3634 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3640 template <class _CharT, class _Traits, class _Allocator>
3641 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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…
3649 template <class _CharT, class _Traits, class _Allocator>
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…
3657 template <class _CharT, class _Traits, class _Allocator>
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…
3665 template <class _CharT, class _Traits, class _Allocator>
3666 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3667 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3673 template <class _CharT, class _Traits, class _Allocator>
3674 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3675 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3681 template <class _CharT, class _Traits, class _Allocator>
3682 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
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 …
3690 template <class _CharT, class _Traits, class _Allocator>
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)…
3698 template <class _CharT, class _Traits, class _Allocator>
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 …
3706 template <class _CharT, class _Traits, class _Allocator>
3707 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3708 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t…
3722 template <class _CharT, class _Traits, class _Allocator>
3724 basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT {
3728 template <class _CharT, class _Traits, class _Allocator>
3729 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3746 template <class _CharT, class _Traits, class _Allocator>
3747 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3749 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const _Tp& __t…
3754 template <class _CharT, class _Traits, class _Allocator>
3756 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const basic_st…
3760 template <class _CharT, class _Traits, class _Allocator>
3762 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
3763 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3765 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3771 template <class _CharT, class _Traits, class _Allocator>
3772 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3777 template <class _CharT, class _Traits, class _Allocator>
3779 basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT {
3784 template <class _CharT, class _Traits, class _Allocator>
3786 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const value_ty…
3793 template <class _CharT, class _Traits, class _Allocator>
3794 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 bool basic_string<_CharT, _Traits, _Allocator>::__invariants()…
3801 if (!_Traits::eq(data()[size()], value_type()))
3808 template <class _CharT, class _Traits, class _Allocator>
3809 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__clear_and_sh…
3820 template <class _CharT, class _Traits, class _Allocator>
3822 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3823 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3825 return basic_string_view<_CharT, _Traits>(__lhs) == basic_string_view<_CharT, _Traits>(__rhs);
3828 return __lhs_sz == __rhs.size() && _Traits::compare(__lhs.data(), __rhs.data(), __lhs_sz) == 0;
3843 template <class _CharT, class _Traits, class _Allocator>
3845 operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3846 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3848 size_t __lhs_len = _Traits::length(__lhs);
3855 template <class _CharT, class _Traits, class _Allocator>
3857 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3859 return basic_string_view<_CharT, _Traits>(__lhs) == basic_string_view<_CharT, _Traits>(__rhs);
3861 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3863 size_t __rhs_len = _Traits::length(__rhs);
3872 template <class _CharT, class _Traits, class _Allocator>
3873 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& _…
3874 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
3875 return basic_string_view<_CharT, _Traits>(__lhs) <=> basic_string_view<_CharT, _Traits>(__rhs);
3878 template <class _CharT, class _Traits, class _Allocator>
3880 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3881 return basic_string_view<_CharT, _Traits>(__lhs) <=> basic_string_view<_CharT, _Traits>(__rhs);
3886 template <class _CharT, class _Traits, class _Allocator>
3887 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3888 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3892 template <class _CharT, class _Traits, class _Allocator>
3894 operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3898 template <class _CharT, class _Traits, class _Allocator>
3900 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3906 template <class _CharT, class _Traits, class _Allocator>
3907 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3908 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3912 template <class _CharT, class _Traits, class _Allocator>
3914 operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3918 template <class _CharT, class _Traits, class _Allocator>
3920 operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3926 template <class _CharT, class _Traits, class _Allocator>
3927 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3928 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3932 template <class _CharT, class _Traits, class _Allocator>
3934 operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3938 template <class _CharT, class _Traits, class _Allocator>
3940 operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3946 template <class _CharT, class _Traits, class _Allocator>
3947 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3948 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3952 template <class _CharT, class _Traits, class _Allocator>
3954 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3958 template <class _CharT, class _Traits, class _Allocator>
3960 operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3966 template <class _CharT, class _Traits, class _Allocator>
3967 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3968 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3972 template <class _CharT, class _Traits, class _Allocator>
3974 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3978 template <class _CharT, class _Traits, class _Allocator>
3980 operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3987 template <class _CharT, class _Traits, class _Allocator>
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>;
3998 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
3999 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
4000 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
4004 template <class _CharT, class _Traits, class _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>;
4008 auto __lhs_sz = _Traits::length(__lhs);
4014 _Traits::copy(__ptr, __lhs, __lhs_sz);
4015 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
4016 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
4020 template <class _CharT, class _Traits, class _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>;
4029 _Traits::assign(__ptr, 1, __lhs);
4030 _Traits::copy(__ptr + 1, __rhs.data(), __rhs_sz);
4031 _Traits::assign(__ptr + 1 + __rhs_sz, 1, _CharT());
4035 template <class _CharT, class _Traits, class _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>;
4040 typename _String::size_type __rhs_sz = _Traits::length(__rhs);
4045 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
4046 _Traits::copy(__ptr + __lhs_sz, __rhs, __rhs_sz);
4047 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
4051 template <class _CharT, class _Traits, class _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>;
4060 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
4061 _Traits::assign(__ptr + __lhs_sz, 1, __rhs);
4062 _Traits::assign(__ptr + 1 + __lhs_sz, 1, _CharT());
4068 template <class _CharT, class _Traits, class _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…
4074 template <class _CharT, class _Traits, class _Allocator>
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…
4080 template <class _CharT, class _Traits, class _Allocator>
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…
4086 template <class _CharT, class _Traits, class _Allocator>
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) {
4092 template <class _CharT, class _Traits, class _Allocator>
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) {
4099 template <class _CharT, class _Traits, class _Allocator>
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) {
4105 template <class _CharT, class _Traits, class _Allocator>
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) {
4116 template <class _CharT, class _Traits, class _Allocator>
4117 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4118 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
4119 type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) {
4120 using _String = basic_string<_CharT, _Traits, _Allocator>;
4127 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
4128 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
4129 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
4133 template <class _CharT, class _Traits, class _Allocator>
4134 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4135 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs,
4136 type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) {
4141 template <class _CharT, class _Traits, class _Allocator>
4142 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4143 operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs,
4144 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
4145 using _String = basic_string<_CharT, _Traits, _Allocator>;
4152 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
4153 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
4154 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
4158 template <class _CharT, class _Traits, class _Allocator>
4159 _LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
4160 operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs,
4161 basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
4170 template <class _CharT, class _Traits, class _Allocator>
4172 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>& _…
4219 template <class _CharT, class _Traits, class _Allocator>
4220 _LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
4221 basic_string<_CharT, _Traits, _Allocator>::npos;
4250 template <class _CharT, class _Traits, class _Allocator>
4251 _LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
4252 operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& _…
4254 template <class _CharT, class _Traits, class _Allocator>
4255 _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4256 operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4258 template <class _CharT, class _Traits, class _Allocator>
4259 _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4260 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _Ch…
4262 template <class _CharT, class _Traits, class _Allocator>
4263 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4264 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4266 template <class _CharT, class _Traits, class _Allocator>
4267 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4268 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _C…
4270 template <class _CharT, class _Traits, class _Allocator>
4271 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4272 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4275 template <class _CharT, class _Traits, class _Allocator, class _Up>
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) {
4283 template <class _CharT, class _Traits, class _Allocator, class _Predicate>
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) {