38 requires detail::integer_like_<D>)
39 constexpr auto operator()(D step)
const
41 return make_action_closure(bind_back(
stride_fn{}, step));
44 template(
typename Rng,
typename D = range_difference_t<Rng>)(
48 Rng operator()(Rng && rng, range_difference_t<Rng>
const step)
const
51 using S = sentinel_t<Rng>;
52 RANGES_EXPECT(0 < step);
55 I first = ranges::begin(rng);
56 S
const last = ranges::end(rng);
59 for(I i = ranges::next(++first, step - 1, last); i != last;
60 advance(i, step, last), ++first)
62 *first = iter_move(i);
65 ranges::actions::erase(rng, first, last);
67 return static_cast<Rng &&
>(rng);