10 struct RemoveIfFunction {
11 template<concepts::Permutable It, concepts::SentinelFor<It> Sent,
typename Proj = function::Identity,
12 concepts::IndirectUnaryPredicate<meta::Projected<It, Proj>> Pred>
13 constexpr auto operator()(It first, Sent last, Pred pred, Proj
proj = {})
const ->
View<It> {
16 return { fast, fast };
20 for (; fast !=
last; ++fast) {
26 return { util::move(slow), util::move(fast) };
29 template<concepts::ForwardContainer Con,
typename Proj = function::Identity,
30 concepts::IndirectUnaryPredicate<meta::Projected<meta::ContainerIterator<Con>, Proj>> Pred>
31 requires(concepts::Permutable<meta::ContainerIterator<Con>>)
38constexpr inline auto remove_if = detail::RemoveIfFunction {};
constexpr auto last(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_last.h:13
constexpr auto iterator_move
Definition iterator_move.h:56
constexpr auto find_if
Definition find_if.h:31
View(Iter, Sent) -> View< Iter, Sent >
constexpr auto end
Definition end.h:55
constexpr auto remove_if
Definition remove_if.h:38
constexpr auto begin
Definition begin.h:52
constexpr auto invoke
Definition invoke.h:100
constexpr auto ref
Definition reference_wrapper.h:98
constexpr auto proj
Definition proj.h:59