14 struct FindLastFunction {
15 template<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent,
typename T,
16 typename Proj = function::Identity>
17 requires(concepts::IndirectBinaryPredicate<function::Equal, meta::Projected<Iter, Proj>, T
const*>)
19 if constexpr (concepts::BidirectionalIterator<Iter> && concepts::SameAs<Iter, Sent>) {
33 return { result == Iter {} ?
first : result,
first };
37 template<concepts::InputContainer Con,
typename T,
typename Proj = function::Identity>
38 requires(concepts::IndirectBinaryPredicate<function::Equal, meta::Projected<meta::ContainerIterator<Con>, Proj>,
46constexpr inline auto find_last = detail::FindLastFunction {};
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
Definition find.h:35
constexpr auto find_last
Definition find_last.h:46
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 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