8 template<concepts::InputIterator It, concepts::SentinelFor<It> Sent,
typename Proj = function::Identity,
9 concepts::IndirectUnaryPredicate<meta::Projected<It, Proj>> Pred>
11 constexpr auto operator()(It first, Sent last, Pred pred, Proj
proj = {})
const ->
View<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>>)