7 struct FindLastIfFunction {
8 template<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent,
typename Proj = function::Identity,
9 concepts::IndirectUnaryPredicate<meta::Projected<Iter, Proj>> Pred>
10 constexpr auto operator()(Iter first, Sent last, Pred pred, Proj
proj = {})
const ->
View<Iter> {
11 if constexpr (concepts::BidirectionalIterator<Iter> && concepts::SameAs<Iter, Sent>) {
25 return { result == Iter {} ?
first : result,
first };
29 template<concepts::InputContainer Con,
typename Proj = function::Identity,
30 concepts::IndirectUnaryPredicate<meta::Projected<meta::ContainerIterator<Con>, Proj>> Pred>
constexpr auto last(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_last.h:13
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto prev
Definition prev.h:28
constexpr auto find_if
Definition find_if.h:31
View(Iter, Sent) -> View< Iter, Sent >
constexpr auto make_reverse_iterator(Iter iter)
Definition reverse_iterator.h:110
constexpr auto end
Definition end.h:55
constexpr auto find_last_if
Definition find_last_if.h:37
constexpr auto begin
Definition begin.h:52
constexpr auto invoke
Definition invoke.h:100
constexpr auto ref
Definition reference_wrapper.h:98
Definition any_storable.h:9
constexpr auto proj
Definition proj.h:59