[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);
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);
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);
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);
Effects: Equivalent to: ranges::advance(x, n, bound); return x;