Lines Matching refs:_Traits

668 template <class _CharT, class _Traits, class _Allocator>
669 basic_string<_CharT, _Traits, _Allocator> _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
670 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const basic_string<_CharT, _Traits,…
672 template <class _CharT, class _Traits, class _Allocator>
673 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
674 operator+(const _CharT* __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
676 template <class _CharT, class _Traits, class _Allocator>
677 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
678 operator+(_CharT __x, const basic_string<_CharT, _Traits, _Allocator>& __y);
680 template <class _CharT, class _Traits, class _Allocator>
681 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
682 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const _CharT* __y);
684 template <class _CharT, class _Traits, class _Allocator>
685 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
686 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
700 template <class _CharT, class _Traits, class _Tp>
702 … : public _BoolConstant< is_convertible<const _Tp&, basic_string_view<_CharT, _Traits> >::value &&
708 template <class _CharT, class _Traits, class _Allocator>
715 typedef basic_string_view<_CharT, _Traits> __self_view;
716 typedef _Traits traits_type;
1032 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1044 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1054 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1116 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1244 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1273 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1285 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1348 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1366 _Traits::move(data(), data() + __pos, __len);
1368 _Traits::assign(data()[__len], value_type());
1391 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1435 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1443 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1501 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1512 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1529 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1612 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1624 …template <class _Tp, __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,…
1650 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1664 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1678 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1691 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1695 …template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,…
1705 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
1722 return !empty() && _Traits::eq(front(), __c);
1734 return !empty() && _Traits::eq(back(), __c);
2153 class _Traits,
2156 explicit basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
2157 -> basic_string<_CharT, _Traits, _Allocator>;
2160 class _Traits,
2164 basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
2165 -> basic_string<_CharT, _Traits, _Allocator>;
2176 template <class _CharT, class _Traits, class _Allocator>
2178 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz, size_type …
2200 template <class _CharT, class _Traits, class _Allocator>
2202 basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz) {
2224 template <class _CharT, class _Traits, class _Allocator>
2226 basic_string<_CharT, _Traits, _Allocator>::__init_copy_ctor_external(const value_type* __s, size_ty…
2248 template <class _CharT, class _Traits, class _Allocator>
2249 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n,…
2272 template <class _CharT, class _Traits, class _Allocator>
2275 basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last) {
2279 template <class _CharT, class _Traits, class _Allocator>
2282 basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator __first, _Sentinel _…
2301 template <class _CharT, class _Traits, class _Allocator>
2304 basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last…
2309 template <class _CharT, class _Traits, class _Allocator>
2312 basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __first, _Sentinel __las…
2349 template <class _CharT, class _Traits, class _Allocator>
2350 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace(
2389 template <class _CharT, class _Traits, class _Allocator>
2394 …_LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__…
2423 template <class _CharT, class _Traits, class _Allocator>
2425 basic_string<_CharT, _Traits, _Allocator>::__grow_by_without_replace(
2441 template <class _CharT, class _Traits, class _Allocator>
2443 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2444 basic_string<_CharT, _Traits, _Allocator>::__assign_no_alias(const value_type* __s, size_type __n) {
2463 template <class _CharT, class _Traits, class _Allocator>
2464 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2465 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s, size_type __n) {
2481 template <class _CharT, class _Traits, class _Allocator>
2482 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2483 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n) {
2488 template <class _CharT, class _Traits, class _Allocator>
2489 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2490 basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c) {
2504 template <class _CharT, class _Traits, class _Allocator>
2505 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2506 basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c) {
2525 template <class _CharT, class _Traits, class _Allocator>
2526 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS basic_string<_CharT, _Traits, _…
2527 basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str) {
2550 template <class _CharT, class _Traits, class _Allocator>
2552 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, false_type)
2560 template <class _CharT, class _Traits, class _Allocator>
2562 basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
2609 template <class _CharT, class _Traits, class _Allocator>
2611 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2612 basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last) {
2617 template <class _CharT, class _Traits, class _Allocator>
2620 basic_string<_CharT, _Traits, _Allocator>::__assign_with_sentinel(_InputIterator __first, _Sentinel…
2625 template <class _CharT, class _Traits, class _Allocator>
2627 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2628 basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last…
2639 template <class _CharT, class _Traits, class _Allocator>
2642 basic_string<_CharT, _Traits, _Allocator>::__assign_trivial(_Iterator __first, _Sentinel __last, si…
2669 template <class _CharT, class _Traits, class _Allocator>
2670 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2671 basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_…
2678 template <class _CharT, class _Traits, class _Allocator>
2680 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
2681 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2683 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2684 basic_string<_CharT, _Traits, _Allocator>::assign(const _Tp& __t, size_type __pos, size_type __n) {
2692 template <class _CharT, class _Traits, class _Allocator>
2693 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NOINLINE basic_string<_CharT, _Traits, _Allocator>&
2694 basic_string<_CharT, _Traits, _Allocator>::__assign_external(const value_type* __s) {
2698 template <class _CharT, class _Traits, class _Allocator>
2699 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2700 basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s) {
2709 template <class _CharT, class _Traits, class _Allocator>
2710 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2711 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n) {
2729 template <class _CharT, class _Traits, class _Allocator>
2730 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2731 basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c) {
2747 template <class _CharT, class _Traits, class _Allocator>
2749 basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n) {
2763 template <class _CharT, class _Traits, class _Allocator>
2764 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::push_back(value_type …
2793 template <class _CharT, class _Traits, class _Allocator>
2795 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2796 basic_string<_CharT, _Traits, _Allocator>::append(_ForwardIterator __first, _ForwardIterator __last…
2818 template <class _CharT, class _Traits, class _Allocator>
2819 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2820 basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_…
2827 template <class _CharT, class _Traits, class _Allocator>
2829 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
2830 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2832 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2833 basic_string<_CharT, _Traits, _Allocator>::append(const _Tp& __t, size_type __pos, size_type __n) {
2841 template <class _CharT, class _Traits, class _Allocator>
2842 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2843 basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s) {
2850 template <class _CharT, class _Traits, class _Allocator>
2851 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2852 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type…
2878 template <class _CharT, class _Traits, class _Allocator>
2879 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2880 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c) {
2905 template <class _CharT, class _Traits, class _Allocator>
2907 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2908 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _InputIterator __first, _In…
2913 template <class _CharT, class _Traits, class _Allocator>
2915 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2916 basic_string<_CharT, _Traits, _Allocator>::insert(
2922 template <class _CharT, class _Traits, class _Allocator>
2924 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2925 basic_string<_CharT, _Traits, _Allocator>::__insert_with_size(
2939 template <class _CharT, class _Traits, class _Allocator>
2940 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2941 basic_string<_CharT, _Traits, _Allocator>::insert(
2949 template <class _CharT, class _Traits, class _Allocator>
2951 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
2952 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
2954 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2955 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const _Tp& __t, size_type __pos…
2963 template <class _CharT, class _Traits, class _Allocator>
2964 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2965 basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s) {
2970 template <class _CharT, class _Traits, class _Allocator>
2971 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
2972 basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c) {
2995 template <class _CharT, class _Traits, class _Allocator>
2996 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
2997 basic_string<_CharT, _Traits, _Allocator>::replace(
3040 template <class _CharT, class _Traits, class _Allocator>
3041 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3042 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2,…
3066 template <class _CharT, class _Traits, class _Allocator>
3068 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3069 basic_string<_CharT, _Traits, _Allocator>::replace(
3075 template <class _CharT, class _Traits, class _Allocator>
3076 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3077 basic_string<_CharT, _Traits, _Allocator>::replace(
3085 template <class _CharT, class _Traits, class _Allocator>
3087 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
3088 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3090 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3091 basic_string<_CharT, _Traits, _Allocator>::replace(
3100 template <class _CharT, class _Traits, class _Allocator>
3101 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3102 basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_typ…
3111 template <class _CharT, class _Traits, class _Allocator>
3113 basic_string<_CharT, _Traits, _Allocator>::__erase_external_with_move(size_type __pos, size_type __…
3125 template <class _CharT, class _Traits, class _Allocator>
3126 _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>&
3127 basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n) {
3138 template <class _CharT, class _Traits, class _Allocator>
3139 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3140 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos) {
3149 template <class _CharT, class _Traits, class _Allocator>
3150 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::iterator
3151 basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last) {
3159 template <class _CharT, class _Traits, class _Allocator>
3160 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::pop_back() {
3165 template <class _CharT, class _Traits, class _Allocator>
3166 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXC…
3178 template <class _CharT, class _Traits, class _Allocator>
3179 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n,…
3187 template <class _CharT, class _Traits, class _Allocator>
3189 basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n) {
3197 template <class _CharT, class _Traits, class _Allocator>
3198 _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __r…
3216 template <class _CharT, class _Traits, class _Allocator>
3217 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::shrink_to_fit(…
3225 template <class _CharT, class _Traits, class _Allocator>
3227 basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target_capacity) {
3277 template <class _CharT, class _Traits, class _Allocator>
3278 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::const_reference
3279 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const {
3285 template <class _CharT, class _Traits, class _Allocator>
3286 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::reference
3287 basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) {
3293 template <class _CharT, class _Traits, class _Allocator>
3294 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3295 basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) co…
3304 template <class _CharT, class _Traits, class _Allocator>
3305 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_str…
3330 template <class _Traits>
3332 typedef typename _Traits::char_type char_type;
3334 return _Traits::eq(__x, __y);
3338 template <class _CharT, class _Traits, class _Allocator>
3339 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3340 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos, size_type _…
3345 template <class _CharT, class _Traits, class _Allocator>
3346 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3347 basic_string<_CharT, _Traits, _Allocator>::find(const basic_string& __str, size_type __pos) const _…
3351 template <class _CharT, class _Traits, class _Allocator>
3352 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3353 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3354 basic_string<_CharT, _Traits, _Allocator>::find(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3359 template <class _CharT, class _Traits, class _Allocator>
3360 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3361 basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s, size_type __pos) const _NOEX…
3367 template <class _CharT, class _Traits, class _Allocator>
3368 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3369 basic_string<_CharT, _Traits, _Allocator>::find(value_type __c, size_type __pos) const _NOEXCEPT {
3375 template <class _CharT, class _Traits, class _Allocator>
3376 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3377 basic_string<_CharT, _Traits, _Allocator>::rfind(
3383 template <class _CharT, class _Traits, class _Allocator>
3384 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3385 basic_string<_CharT, _Traits, _Allocator>::rfind(const basic_string& __str, size_type __pos) const …
3389 template <class _CharT, class _Traits, class _Allocator>
3390 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3391 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3392 basic_string<_CharT, _Traits, _Allocator>::rfind(const _Tp& __t, size_type __pos) const _NOEXCEPT {
3397 template <class _CharT, class _Traits, class _Allocator>
3398 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3399 basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s, size_type __pos) const _NOE…
3405 template <class _CharT, class _Traits, class _Allocator>
3406 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3407 basic_string<_CharT, _Traits, _Allocator>::rfind(value_type __c, size_type __pos) const _NOEXCEPT {
3413 template <class _CharT, class _Traits, class _Allocator>
3414 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3415 basic_string<_CharT, _Traits, _Allocator>::find_first_of(
3421 template <class _CharT, class _Traits, class _Allocator>
3422 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3423 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __str, size_type __pos…
3428 template <class _CharT, class _Traits, class _Allocator>
3429 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3430 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3431 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const _Tp& __t, size_type __pos) const _NO…
3437 template <class _CharT, class _Traits, class _Allocator>
3438 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3439 basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s, size_type __pos) co…
3445 template <class _CharT, class _Traits, class _Allocator>
3446 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3447 basic_string<_CharT, _Traits, _Allocator>::find_first_of(value_type __c, size_type __pos) const _NO…
3453 template <class _CharT, class _Traits, class _Allocator>
3454 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3455 basic_string<_CharT, _Traits, _Allocator>::find_last_of(
3461 template <class _CharT, class _Traits, class _Allocator>
3462 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3463 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __str, size_type __pos)…
3468 template <class _CharT, class _Traits, class _Allocator>
3469 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3470 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3471 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const _Tp& __t, size_type __pos) const _NOE…
3477 template <class _CharT, class _Traits, class _Allocator>
3478 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3479 basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s, size_type __pos) con…
3485 template <class _CharT, class _Traits, class _Allocator>
3486 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3487 basic_string<_CharT, _Traits, _Allocator>::find_last_of(value_type __c, size_type __pos) const _NOE…
3493 template <class _CharT, class _Traits, class _Allocator>
3494 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3495 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3501 template <class _CharT, class _Traits, class _Allocator>
3502 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3503 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(
3509 template <class _CharT, class _Traits, class _Allocator>
3510 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3511 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3512 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const _Tp& __t, size_type __pos) const…
3518 template <class _CharT, class _Traits, class _Allocator>
3519 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3520 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s, size_type __pos…
3526 template <class _CharT, class _Traits, class _Allocator>
3527 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3528 basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c, size_type __pos) const…
3534 template <class _CharT, class _Traits, class _Allocator>
3535 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3536 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3542 template <class _CharT, class _Traits, class _Allocator>
3543 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3544 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(
3550 template <class _CharT, class _Traits, class _Allocator>
3551 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3552 _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3553 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const _Tp& __t, size_type __pos) const …
3559 template <class _CharT, class _Traits, class _Allocator>
3560 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3561 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s, size_type __pos)…
3567 template <class _CharT, class _Traits, class _Allocator>
3568 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 typename basic_string<_CharT, _Traits, _Allocator>::size_type
3569 basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c, size_type __pos) const …
3575 template <class _CharT, class _Traits, class _Allocator>
3576 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3577 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t…
3591 template <class _CharT, class _Traits, class _Allocator>
3593 basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT {
3597 template <class _CharT, class _Traits, class _Allocator>
3598 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3615 template <class _CharT, class _Traits, class _Allocator>
3616 template <class _Tp, __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, …
3618 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const _Tp& __t…
3623 template <class _CharT, class _Traits, class _Allocator>
3625 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const basic_st…
3629 template <class _CharT, class _Traits, class _Allocator>
3631 __enable_if_t<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value &&
3632 … !__is_same_uncvref<_Tp, basic_string<_CharT, _Traits, _Allocator> >::value,
3634 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3640 template <class _CharT, class _Traits, class _Allocator>
3641 _LIBCPP_CONSTEXPR_SINCE_CXX20 int basic_string<_CharT, _Traits, _Allocator>::compare(
3646 template <class _CharT, class _Traits, class _Allocator>
3648 basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT {
3653 template <class _CharT, class _Traits, class _Allocator>
3655 basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type __n1, const value_ty…
3662 template <class _CharT, class _Traits, class _Allocator>
3663 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 bool basic_string<_CharT, _Traits, _Allocator>::__invariants()…
3670 if (!_Traits::eq(data()[size()], value_type()))
3677 template <class _CharT, class _Traits, class _Allocator>
3678 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__clear_and_sh…
3689 template <class _CharT, class _Traits, class _Allocator>
3691 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3692 const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3694 return basic_string_view<_CharT, _Traits>(__lhs) == basic_string_view<_CharT, _Traits>(__rhs);
3697 return __lhs_sz == __rhs.size() && _Traits::compare(__lhs.data(), __rhs.data(), __lhs_sz) == 0;
3719 template <class _CharT, class _Traits, class _Allocator>
3721 operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3722 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3724 size_t __lhs_len = _Traits::length(__lhs);
3731 template <class _CharT, class _Traits, class _Allocator>
3733 operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3735 return basic_string_view<_CharT, _Traits>(__lhs) == basic_string_view<_CharT, _Traits>(__rhs);
3737 typedef basic_string<_CharT, _Traits, _Allocator> _String;
3739 size_t __rhs_len = _Traits::length(__rhs);
3748 template <class _CharT, class _Traits, class _Allocator>
3749 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& _…
3750 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) noexcept {
3751 return basic_string_view<_CharT, _Traits>(__lhs) <=> basic_string_view<_CharT, _Traits>(__rhs);
3754 template <class _CharT, class _Traits, class _Allocator>
3756 operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3757 return basic_string_view<_CharT, _Traits>(__lhs) <=> basic_string_view<_CharT, _Traits>(__rhs);
3762 template <class _CharT, class _Traits, class _Allocator>
3763 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3764 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3768 template <class _CharT, class _Traits, class _Allocator>
3770 operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3774 template <class _CharT, class _Traits, class _Allocator>
3776 operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3782 template <class _CharT, class _Traits, class _Allocator>
3783 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3784 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3788 template <class _CharT, class _Traits, class _Allocator>
3790 operator<(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3794 template <class _CharT, class _Traits, class _Allocator>
3796 operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3802 template <class _CharT, class _Traits, class _Allocator>
3803 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3804 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3808 template <class _CharT, class _Traits, class _Allocator>
3810 operator>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3814 template <class _CharT, class _Traits, class _Allocator>
3816 operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3822 template <class _CharT, class _Traits, class _Allocator>
3823 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3824 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3828 template <class _CharT, class _Traits, class _Allocator>
3830 operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3834 template <class _CharT, class _Traits, class _Allocator>
3836 operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3842 template <class _CharT, class _Traits, class _Allocator>
3843 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3844 … const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3848 template <class _CharT, class _Traits, class _Allocator>
3850 operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) _NOEXCEPT {
3854 template <class _CharT, class _Traits, class _Allocator>
3856 operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
3863 template <class _CharT, class _Traits, class _Allocator>
3864 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3865 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
3866 const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3867 using _String = basic_string<_CharT, _Traits, _Allocator>;
3874 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
3875 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
3876 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
3880 template <class _CharT, class _Traits, class _Allocator>
3881 _LIBCPP_HIDDEN _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3882 operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3883 using _String = basic_string<_CharT, _Traits, _Allocator>;
3884 auto __lhs_sz = _Traits::length(__lhs);
3890 _Traits::copy(__ptr, __lhs, __lhs_sz);
3891 _Traits::copy(__ptr + __lhs_sz, __rhs.data(), __rhs_sz);
3892 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
3896 template <class _CharT, class _Traits, class _Allocator>
3897 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3898 operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) {
3899 using _String = basic_string<_CharT, _Traits, _Allocator>;
3905 _Traits::assign(__ptr, 1, __lhs);
3906 _Traits::copy(__ptr + 1, __rhs.data(), __rhs_sz);
3907 _Traits::assign(__ptr + 1 + __rhs_sz, 1, _CharT());
3911 template <class _CharT, class _Traits, class _Allocator>
3912 inline _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3913 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs) {
3914 using _String = basic_string<_CharT, _Traits, _Allocator>;
3916 typename _String::size_type __rhs_sz = _Traits::length(__rhs);
3921 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
3922 _Traits::copy(__ptr + __lhs_sz, __rhs, __rhs_sz);
3923 _Traits::assign(__ptr + __lhs_sz + __rhs_sz, 1, _CharT());
3927 template <class _CharT, class _Traits, class _Allocator>
3928 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3929 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs) {
3930 using _String = basic_string<_CharT, _Traits, _Allocator>;
3936 _Traits::copy(__ptr, __lhs.data(), __lhs_sz);
3937 _Traits::assign(__ptr + __lhs_sz, 1, __rhs);
3938 _Traits::assign(__ptr + 1 + __lhs_sz, 1, _CharT());
3944 template <class _CharT, class _Traits, class _Allocator>
3945 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3946 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _A…
3950 template <class _CharT, class _Traits, class _Allocator>
3951 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3952 operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Al…
3956 template <class _CharT, class _Traits, class _Allocator>
3957 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3958 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocat…
3962 template <class _CharT, class _Traits, class _Allocator>
3963 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3964 operator+(const _CharT* __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3968 template <class _CharT, class _Traits, class _Allocator>
3969 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3970 operator+(_CharT __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs) {
3975 template <class _CharT, class _Traits, class _Allocator>
3976 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3977 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs) {
3981 template <class _CharT, class _Traits, class _Allocator>
3982 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
3983 operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs) {
3992 template <class _CharT, class _Traits, class _Allocator>
3994 swap(basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>& _…
4041 template <class _CharT, class _Traits, class _Allocator>
4042 _LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
4043 basic_string<_CharT, _Traits, _Allocator>::npos;
4072 template <class _CharT, class _Traits, class _Allocator>
4073 _LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
4074 operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& _…
4076 template <class _CharT, class _Traits, class _Allocator>
4077 _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4078 operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4080 template <class _CharT, class _Traits, class _Allocator>
4081 _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4082 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _Ch…
4084 template <class _CharT, class _Traits, class _Allocator>
4085 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4086 getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4088 template <class _CharT, class _Traits, class _Allocator>
4089 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4090 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _C…
4092 template <class _CharT, class _Traits, class _Allocator>
4093 inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
4094 getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
4097 template <class _CharT, class _Traits, class _Allocator, class _Up>
4098 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4099 erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
4105 template <class _CharT, class _Traits, class _Allocator, class _Predicate>
4106 inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
4107 erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred) {