11 template<concepts::InputIterator It, concepts::SentinelFor<It> Sent, concepts::WeaklyIncrementable Out,
12 typename Proj = function::Identity, concepts::IndirectUnaryPredicate<meta::Projected<It, Proj>> Pred>
14 constexpr auto operator()(It first, Sent last, Out output, Pred pred, Proj
proj = {})
const
16 for (; first != last; ++first) {
22 return { util::move(first), util::move(output) };
25 template<concepts::InputContainer Con, concepts::WeaklyIncrementable Out,
typename Proj = function::Identity,
26 concepts::IndirectUnaryPredicate<meta::Projected<meta::ContainerIterator<Con>, Proj>> Pred>
27 requires(concepts::IndirectlyCopyable<meta::ContainerIterator<Con>, Out>)
28 constexpr auto operator()(Con&&
container, Out output, Pred pred, Proj
proj = {})
const