Range-v3: ranges::v3::find_fn Struct Reference

Range-v3 Range algorithms, views, and actions for the Standard Library |

Public Member Functions | List of all members
ranges::v3::find_fn Struct Reference
Algorithms

## Public Member Functions
template<typename I , typename S , typename V , typename P = ident, requires = (InputIterator<I>() && Sentinel<S, I>() && IndirectRelation<equal_to, projected<I, P>, V const *>())>
I | operator() (I begin, S end, V const &val, P proj=P{}) const
| template function `find_fn::operator()` More...
template<typename Rng , typename V , typename P = ident, typename I = iterator_t<Rng>, requires = (InputRange<Rng>() && IndirectRelation<equal_to, projected<I, P>, V const *>())>
safe_iterator_t< Rng > | operator() (Rng &&rng, V const &val, P proj=P{}) const

## Member Function Documentation

## ◆ operator()() [1/2]

template<typename I , typename S , typename V , typename P = ident, requires = (InputIterator<I>() && Sentinel<S, I>() && IndirectRelation<equal_to, projected<I, P>, V const *>())>

I ranges::v3::find_fn::operator() | ( | I | begin,
|  | S | end,
|  | V const & | val,
|  | P | 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 `Invocable<iter_common_reference_t<I>>` concept
  The ResultType of `P` is EqualityComparable with V

## ◆ operator()() [2/2]

template<typename Rng , typename V , typename P = ident, typename I = iterator_t<Rng>, requires = (InputRange<Rng>() && IndirectRelation<equal_to, projected<I, P>, V const *>())>

safe_iterator_t<Rng> ranges::v3::find_fn::operator() | ( | Rng && | rng,
|  | V const & | val,
|  | P | 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.