Functions | |
template<typename R , typename Op > | |
ranges::CPP_TEMPLATE_AUX_0 (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 >>) const expr auto fold_left_first(R &&rng | |
template<typename Rng , typename T , typename Op > | |
ranges::CPP_TEMPLATE_AUX_0 (requires input_range< Rng > &&indirectly_binary_left_foldable< Op, T, iterator_t< Rng >>) const expr auto fold_left(Rng &&rng | |
template<typename I , typename S , typename Op > | |
ranges::CPP_TEMPLATE_AUX_0 (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 >>) const expr auto fold_left_first(I first | |
template<typename I , typename S , typename T , typename Op > | |
ranges::CPP_TEMPLATE_AUX_0 (requires sentinel_for< S, I > &&input_iterator< I > &&indirectly_binary_left_foldable< Op, T, I >) const expr auto fold_left(I first | |
ranges::for (++first;first !=last;++first) | |
ranges::if (first==last) | |
return | ranges::optional< U > (in_place, fold_left_fn{}(std::move(first), std::move(last), std::move(init), op)) |
Variables | |
U | ranges::accum = invoke(op, std::move(init), *first) |
template<class F , class T , class I > | |
concept | ranges::iindirectly_binary_left_foldable |
\concept indirectly_binary_left_foldable More... | |
template<class F , class T , class I , class U > | |
concept | ranges::iindirectly_binary_left_foldable_impl |
\concept indirectly_binary_left_foldable_impl More... | |
S T | ranges::init = *first |
S T Op | ranges::op |
concept ranges::iindirectly_binary_left_foldable |
\concept indirectly_binary_left_foldable
The indirectly_binary_left_foldable
concept
concept ranges::iindirectly_binary_left_foldable_impl |
\concept indirectly_binary_left_foldable_impl
The indirectly_binary_left_foldable_impl
concept