13 #ifndef RANGES_V3_ALGORITHM_FIND_FIRST_OF_HPP
14 #define RANGES_V3_ALGORITHM_FIND_FIRST_OF_HPP
29 #include <range/v3/utility/static_const.hpp>
31 #include <range/v3/detail/prologue.hpp>
37 RANGES_FUNC_BEGIN(find_first_of)
55 constexpr I0 RANGES_FUNC(find_first_of)(I0 begin0,
63 for(; begin0 != end0; ++begin0)
64 for(
auto tmp = begin1; tmp != end1; ++tmp)
71 template(
typename Rng0,
76 requires input_range<Rng0> AND forward_range<Rng1> AND
80 constexpr borrowed_iterator_t<Rng0> RANGES_FUNC(find_first_of)(
81 Rng0 && rng0, Rng1 && rng1, R pred = R{}, P0 proj0 = P0{}, P1 proj1 = P1{})
83 return (*
this)(begin(rng0),
92 RANGES_FUNC_END(find_first_of)
96 using ranges::find_first_of;
101 #include <range/v3/detail/epilogue.hpp>
template(typename Rng0, typename Rng1, typename R=equal_to, typename P0=identity, typename P1=identity)(requires input_range< Rng0 > AND forward_range< Rng1 > AND indirect_relation< R
This is an overloaded member function, provided for convenience. It differs from the above function o...
CPP_concept sentinel_for
\concept sentinel_for
Definition: concepts.hpp:306
CPP_concept input_iterator
\concept input_iterator
Definition: concepts.hpp:362
CPP_concept indirect_relation
\concept indirect_relation
Definition: concepts.hpp:670
CPP_concept forward_iterator
\concept forward_iterator
Definition: concepts.hpp:370
decltype(begin(declval(Rng &))) iterator_t
Definition: access.hpp:698
typename Fn::template invoke< Args... > invoke
Evaluate the invocable Fn with the arguments Args.
Definition: meta.hpp:541
bool_< T::type::value==U::type::value > equal_to
A Boolean integral constant wrapper around the result of comparing T::type::value and U::type::value ...
Definition: meta.hpp:237
Definition: comparisons.hpp:28
Definition: identity.hpp:25