[range.iota.overview] (original) (raw)

25 Ranges library [ranges]

25.6 Range factories [range.factories]

25.6.4 Iota view [range.iota]

25.6.4.1 Overview [range.iota.overview]

iota_view generates a sequence of elements by repeatedly incrementing an initial value.

Given subexpressions E and F, the expressionsviews​::​iota(E) and views​::​iota(E, F)are expression-equivalent toiota_view<decay_t<decltype((E))>>(E) and iota_view(E, F), respectively.

[Example 1: for (int i : views::iota(1, 10)) cout << i << ' '; — _end example_]

Given subexpression E, let T be remove_cvref_t<decltype((E))>.

views​::​indices(E) is expression-equivalent toviews​::​iota(T(0), E)if is-integer-like<T> is true, and ill-formed otherwise.