fold_right.hpp File Reference

## Classes

struct | ranges::detail::flipped< F >

## Functions

template<typename R , typename Op >
| ranges::CPP_TEMPLATE_AUX_0 (requires bidirectional_range< R > &&indirectly_binary_right_foldable< Op, range_value_t< R >, iterator_t< R >> &&constructible_from< range_value_t< R >, range_reference_t< R >>) const expr auto fold_right_last(R &&rng
template<typename Rng , typename T , typename Op >
| ranges::CPP_TEMPLATE_AUX_0 (requires bidirectional_range< Rng > &&indirectly_binary_right_foldable< Op, T, iterator_t< Rng >>) const expr auto fold_right(Rng &&rng
template<typename I , typename S , typename Op >
| ranges::CPP_TEMPLATE_AUX_0 (requires sentinel_for< S, I > &&bidirectional_iterator< I > &&indirectly_binary_right_foldable< Op, iter_value_t< I >, I > &&constructible_from< iter_value_t< I >, iter_reference_t< I >>) const expr auto fold_right_last(I first
template<typename I , typename S , typename T , typename Op >
| ranges::CPP_TEMPLATE_AUX_0 (requires sentinel_for< S, I > &&bidirectional_iterator< I > &&indirectly_binary_right_foldable< Op, T, I >) const expr auto fold_right(I first
| ranges::if (first==last)
return | ranges::optional< U > (in_place, fold_right_fn{}(std::move(first), tail, iter_value_t< I >(*tail), std::move(op)))
| ranges::while (first !=tail)

## Variables

template<class F , class T , class I >
concept | ranges::iindirectly_binary_right_foldable
| \concept indirectly_binary_right_foldable More...
I | ranges::tail = next(first, last)

## Variable Documentation

## iindirectly_binary_right_foldable

template<class F , class T , class I >

concept ranges::iindirectly_binary_right_foldable

Initial value:
=
indirectly_binary_left_foldable<detail::flipped<F>, T, I>
ranges::I
CPP_TEMPLATE_AUX_0 I(requires bidirectional_iterator< I > &&sortable< I, C, P >) III inplace_merge(I first
function template inplace_merge

\concept indirectly_binary_right_foldable

The `indirectly_binary_right_foldable` concept