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)
|
| 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 |
+
|