11 template<concepts::Permutable It, concepts::SentinelFor<It> Sent,
typename Proj = function::Identity,
12 concepts::IndirectUnaryPredicate<meta::Projected<It, Proj>> Pred>
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>>)