@@ -63,8 +63,8 @@ concept __indirectly_binary_left_foldable =
63
63
64
64
struct __fold_left_with_iter {
65
65
template <input_iterator _Ip, sentinel_for<_Ip> _Sp, class _Tp , __indirectly_binary_left_foldable<_Tp, _Ip> _Fp>
66
- _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI constexpr auto
67
- operator ()(_Ip __first, _Sp __last, _Tp __init, _Fp __f) const {
66
+ _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI static constexpr auto
67
+ operator ()(_Ip __first, _Sp __last, _Tp __init, _Fp __f) {
68
68
using _Up = decay_t <invoke_result_t <_Fp&, _Tp, iter_reference_t <_Ip>>>;
69
69
70
70
if (__first == __last) {
@@ -80,8 +80,8 @@ struct __fold_left_with_iter {
80
80
}
81
81
82
82
template <input_range _Rp, class _Tp , __indirectly_binary_left_foldable<_Tp, iterator_t <_Rp>> _Fp>
83
- _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI constexpr auto operator ()(_Rp&& __r, _Tp __init, _Fp __f) const {
84
- auto __result = (* this )(ranges::begin (__r), ranges::end (__r), std::move (__init), std::ref (__f));
83
+ _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI static constexpr auto operator ()(_Rp&& __r, _Tp __init, _Fp __f) {
84
+ auto __result = operator ( )(ranges::begin (__r), ranges::end (__r), std::move (__init), std::ref (__f));
85
85
86
86
using _Up = decay_t <invoke_result_t <_Fp&, _Tp, range_reference_t <_Rp>>>;
87
87
return fold_left_with_iter_result<borrowed_iterator_t <_Rp>, _Up>{
@@ -95,13 +95,13 @@ inline constexpr auto fold_left_with_iter = __fold_left_with_iter();
95
95
96
96
struct __fold_left {
97
97
template <input_iterator _Ip, sentinel_for<_Ip> _Sp, class _Tp , __indirectly_binary_left_foldable<_Tp, _Ip> _Fp>
98
- _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI constexpr auto
99
- operator ()(_Ip __first, _Sp __last, _Tp __init, _Fp __f) const {
98
+ _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI static constexpr auto
99
+ operator ()(_Ip __first, _Sp __last, _Tp __init, _Fp __f) {
100
100
return fold_left_with_iter (std::move (__first), std::move (__last), std::move (__init), std::ref (__f)).result ;
101
101
}
102
102
103
103
template <input_range _Rp, class _Tp , __indirectly_binary_left_foldable<_Tp, iterator_t <_Rp>> _Fp>
104
- _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI constexpr auto operator ()(_Rp&& __r, _Tp __init, _Fp __f) const {
104
+ _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI static constexpr auto operator ()(_Rp&& __r, _Tp __init, _Fp __f) {
105
105
return fold_left_with_iter (ranges::begin (__r), ranges::end (__r), std::move (__init), std::ref (__f)).result ;
106
106
}
107
107
};
0 commit comments