[range.iter.op.next] (original) (raw)

24 Iterators library [iterators]

24.4 Iterator primitives [iterator.primitives]

24.4.4 Range iterator operations [range.iter.ops]

24.4.4.4 ranges​::​next [range.iter.op.next]

🔗

template<[input_or_output_iterator](iterator.concept.iterator#concept:input%5For%5Foutput%5Fiterator "24.3.4.6 Concept input_­or_­output_­iterator [iterator.concept.iterator]") I> constexpr I ranges::next(I x);

1

#

Effects: Equivalent to: ++x; return x;

🔗

template<[input_or_output_iterator](iterator.concept.iterator#concept:input%5For%5Foutput%5Fiterator "24.3.4.6 Concept input_­or_­output_­iterator [iterator.concept.iterator]") I> constexpr I ranges::next(I x, iter_difference_t<I> n);

2

#

Effects: Equivalent to: ranges​::​advance(x, n); return x;

🔗

template<[input_or_output_iterator](iterator.concept.iterator#concept:input%5For%5Foutput%5Fiterator "24.3.4.6 Concept input_­or_­output_­iterator [iterator.concept.iterator]") I, [sentinel_for](iterator.concept.sentinel#concept:sentinel%5Ffor "24.3.4.7 Concept sentinel_­for [iterator.concept.sentinel]")<I> S> constexpr I ranges::next(I x, S bound);

3

#

Effects: Equivalent to: ranges​::​advance(x, bound); return x;

🔗

template<[input_or_output_iterator](iterator.concept.iterator#concept:input%5For%5Foutput%5Fiterator "24.3.4.6 Concept input_­or_­output_­iterator [iterator.concept.iterator]") I, [sentinel_for](iterator.concept.sentinel#concept:sentinel%5Ffor "24.3.4.7 Concept sentinel_­for [iterator.concept.sentinel]")<I> S> constexpr I ranges::next(I x, iter_difference_t<I> n, S bound);

4

#

Effects: Equivalent to: ranges​::​advance(x, n, bound); return x;