|
template<typename I , typename S , typename T , typename Op >
requires sentinel_for<S, I> && input_iterator<I> && indirectly_binary_left_foldable<Op, T, I> |
constexpr auto | ranges::fold_left (I first, S last, T init, Op op) |
|
template<typename Rng , typename T , typename Op >
requires input_range<Rng> && indirectly_binary_left_foldable<Op, T, iterator_t<Rng>> |
constexpr auto | ranges::fold_left (Rng &&rng, T init, Op op) |
|
template<typename I , typename S , typename Op >
requires sentinel_for<S, I> && input_iterator<I> && indirectly_binary_left_foldable<Op, iter_value_t<I>, I> && constructible_from<iter_value_t<I>, iter_reference_t<I>> |
constexpr auto | ranges::fold_left_first (I first, S last, Op op) |
|
template<typename R , typename Op >
requires input_range<R> && indirectly_binary_left_foldable<Op, range_value_t<R>, iterator_t<R>> && constructible_from<range_value_t<R>, range_reference_t<R>> |
constexpr auto | ranges::fold_left_first (R &&rng, Op op) |
|