Horizon
Functions | Variables
fold_left.hpp File Reference
#include <meta/meta.hpp>
#include <range/v3/functional/identity.hpp>
#include <range/v3/functional/invoke.hpp>
#include <range/v3/range/access.hpp>
#include <range/v3/range/concepts.hpp>
#include <range/v3/utility/optional.hpp>
#include <range/v3/detail/prologue.hpp>
#include <range/v3/detail/epilogue.hpp>

Go to the source code of this file.

Functions

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

Variables

template<class F , class T , class I , class U >
CPP_concept ranges::indirectly_binary_left_foldable_impl
 \concept indirectly_binary_left_foldable_impl More...
 
template<class F , class T , class I >
CPP_concept ranges::indirectly_binary_left_foldable
 \concept indirectly_binary_left_foldable More...
 
 ranges::T
 
 ranges::range_value_t< R >
 

Variable Documentation

◆ indirectly_binary_left_foldable

template<class F , class T , class I >
CPP_concept ranges::indirectly_binary_left_foldable
Initial value:
=
copy_constructible<F> &&
indirectly_readable<I> &&
invocable<F&, T, iter_reference_t<I>> &&
convertible_to<invoke_result_t<F&, T, iter_reference_t<I>>,
std::decay_t<invoke_result_t<F&, T, iter_reference_t<I>>>> &&
indirectly_binary_left_foldable_impl<F, T, I, std::decay_t<invoke_result_t<F&, T, iter_reference_t<I>>>>

\concept indirectly_binary_left_foldable

The indirectly_binary_left_foldable concept

◆ indirectly_binary_left_foldable_impl

template<class F , class T , class I , class U >
CPP_concept ranges::indirectly_binary_left_foldable_impl
Initial value:
=
movable<T> &&
movable<U> &&
convertible_to<T, U> &&
invocable<F&, U, iter_reference_t<I>> &&
assignable_from<U&, invoke_result_t<F&, U, iter_reference_t<I>>>

\concept indirectly_binary_left_foldable_impl

The indirectly_binary_left_foldable_impl concept