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

Public Member Functions

template<typename I , typename S , typename F , typename P = ident, requires = (InputIterator<I>() && Sentinel<S, I>() && IndirectCallablePredicate<F, projected<I, P> >())>
operator() (I begin, S end, F pred_, P proj_=P{}) const
 template function find_fn::operator() More...
 
template<typename Rng , typename F , typename P = ident, typename I = range_iterator_t<Rng>, requires = (InputRange<Rng>() && IndirectCallablePredicate<F, projected<I, P>>())>
range_safe_iterator_t< Rng > operator() (Rng &&rng, F pred, P proj=P{}) const
 

Member Function Documentation

template<typename I , typename S , typename F , typename P = ident, requires = (InputIterator<I>() && Sentinel<S, I>() && IndirectCallablePredicate<F, projected<I, P> >())>
I ranges::v3::find_if_fn::operator() ( begin,
end,
pred_,
proj_ = P{} 
) const

template function find_fn::operator()

range-based version of the find std algorithm

Precondition
Rng is a model of the Range concept
I is a model of the InputIterator concept
S is a model of the Sentinel<I> concept
P is a model of the Callable<V> concept, where V is the value type of I.
F models CallablePredicate<X>, where X is the result type of Callable<P, V>
template<typename Rng , typename F , typename P = ident, typename I = range_iterator_t<Rng>, requires = (InputRange<Rng>() && IndirectCallablePredicate<F, projected<I, P>>())>
range_safe_iterator_t<Rng> ranges::v3::find_if_fn::operator() ( Rng &&  rng,
pred,
proj = P{} 
) const

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