7 struct PartitionFunction {
8 template<concepts::InputIterator It, concepts::SentinelFor<It> Sent,
typename Proj = function::Identity,
9 concepts::IndirectUnaryPredicate<meta::Projected<It, Proj>> Pred>
10 requires(concepts::Permutable<It>)
15 return { fast, fast };
20 for (; fast !=
last; ++fast) {
25 return { util::move(slow), util::move(fast) };
28 template<concepts::InputContainer Con,
typename Proj = function::Identity,
29 concepts::IndirectUnaryPredicate<meta::Projected<meta::ContainerIterator<Con>, Proj>> Pred>
30 requires(concepts::Permutable<meta::ContainerIterator<Con>>)
37constexpr inline auto partition = detail::PartitionFunction {};
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 partition
Definition partition.h:37
View(Iter, Sent) -> View< Iter, Sent >
constexpr auto iterator_swap
Definition iterator_swap.h:49
constexpr auto find_if_not
Definition find_if_not.h:31
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