From Jason Turner

[range.iota.overview]

Diff to HTML by rtfpessoa

tmp/tmp4ragfd6k/{from.md → to.md} RENAMED
@@ -4,17 +4,23 @@
4
  an initial value.
5
 
6
  The name `views::iota` denotes a customization point object
7
  [[customization.point.object]]. Given subexpressions `E` and `F`, the
8
  expressions `views::iota(E)` and `views::iota(E, F)` are
9
- expression-equivalent to `iota_view(E)` and `iota_view(E, F)`,
10
- respectively.
11
 
12
  [*Example 1*:
13
 
14
  ``` cpp
15
  for (int i : views::iota(1, 10))
16
  cout << i << ' '; // prints 1 2 3 4 5 6 7 8 9
17
  ```
18
 
19
  — *end example*]
20
 
 
 
 
 
 
 
 
4
  an initial value.
5
 
6
  The name `views::iota` denotes a customization point object
7
  [[customization.point.object]]. Given subexpressions `E` and `F`, the
8
  expressions `views::iota(E)` and `views::iota(E, F)` are
9
+ expression-equivalent to `iota_view<decay_t<decltype((E))>>(E)` and
10
+ `iota_view(E, F)`, respectively.
11
 
12
  [*Example 1*:
13
 
14
  ``` cpp
15
  for (int i : views::iota(1, 10))
16
  cout << i << ' '; // prints 1 2 3 4 5 6 7 8 9
17
  ```
18
 
19
  — *end example*]
20
 
21
+ The name `views::indices` denotes a customization point object
22
+ [[customization.point.object]]. Given subexpression `E`, let `T` be
23
+ `remove_cvref_t<decltype((E))>`. `views::indices(E)` is
24
+ expression-equivalent to `views::iota(T(0), E)` if `is-integer-like<T>`
25
+ is `true`, and ill-formed otherwise.
26
+