Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::adjacent_remove_if_fn Struct Reference

Public Member Functions

template<typename I , typename S , typename Pred , typename Proj = ident, requires = (Permutable<I>() && Sentinel<S, I>() && IndirectRelation<Pred, projected<I, Proj>>())>
operator() (I first, S last, Pred pred={}, Proj proj={}) const
 function adjacent_remove_if_fn::operator() More...
 
template<typename R , typename Pred , typename Proj = ident, typename I = iterator_t<R>, requires = (ForwardRange<R>() && IndirectRelation<Pred, projected<I, Proj>>() && Permutable<I>())>
safe_iterator_t< R > operator() (R &&r, Pred pred, Proj proj={}) const
 

Member Function Documentation

◆ operator()() [1/2]

template<typename I , typename S , typename Pred , typename Proj = ident, requires = (Permutable<I>() && Sentinel<S, I>() && IndirectRelation<Pred, projected<I, Proj>>())>
I ranges::v3::adjacent_remove_if_fn::operator() ( first,
last,
Pred  pred = {},
Proj  proj = {} 
) const

function adjacent_remove_if_fn::operator()

range-based version of the adjacent_remove_if algorithm

Precondition
R is a model of the ForwardRange concept.
Pred is a model of the BinaryPredicate concept.

References ranges::v3::adjacent_find, ranges::v3::move, and ranges::v3::ref.

◆ operator()() [2/2]

template<typename R , typename Pred , typename Proj = ident, typename I = iterator_t<R>, requires = (ForwardRange<R>() && IndirectRelation<Pred, projected<I, Proj>>() && Permutable<I>())>
safe_iterator_t<R> ranges::v3::adjacent_remove_if_fn::operator() ( R &&  r,
Pred  pred,
Proj  proj = {} 
) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.