adjacent_difference.hpp File Reference

## Classes

struct | ranges::adjacent_difference_fn

## Typedefs

template<typename I , typename O >
using | ranges::adjacent_difference_result = detail::in_out_result< I, O >

## Variables

constexpr adjacent_difference_fn | ranges::adjacent_difference {}
template<typename I , typename O , typename BOp = minus, typename P = identity>
concept | ranges::differenceable
template<typename I , typename O , typename BOp , typename P >

concept

ranges::differenceable_ = invocable<P&, iter_value_t<I>> && copy_constructible<uncvref_t<invoke_result_t<P&, iter_value_t<I>>>> && movable<uncvref_t<invoke_result_t<P&, iter_value_t<I>>>> && output_iterator<O, invoke_result_t<P&, iter_value_t<I>>> && invocable<BOp&, invoke_result_t<P&, iter_value_t<I>>, invoke_result_t<P&, iter_value_t<I>>> && output_iterator<O, invoke_result_t<BOp&, invoke_result_t<P&, iter_value_t<I>>, invoke_result_t<P&, iter_value_t<I>>>>