Range-v3
Range algorithms, views, and actions for the Standard Library
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>>>>