tmp/tmp56h3dx3v/{from.md → to.md}
RENAMED
|
@@ -6,12 +6,12 @@
|
|
| 6 |
the same value.
|
| 7 |
|
| 8 |
The name `views::repeat` denotes a customization point object
|
| 9 |
[[customization.point.object]]. Given subexpressions `E` and `F`, the
|
| 10 |
expressions `views::repeat(E)` and `views::repeat(E, F)` are
|
| 11 |
-
expression-equivalent to `repeat_view(E)
|
| 12 |
-
respectively.
|
| 13 |
|
| 14 |
[*Example 1*:
|
| 15 |
|
| 16 |
``` cpp
|
| 17 |
for (int i : views::repeat(17, 4))
|
|
@@ -58,12 +58,12 @@ namespace std::ranges {
|
|
| 58 |
constexpr unreachable_sentinel_t end() const noexcept;
|
| 59 |
|
| 60 |
constexpr auto size() const requires (!same_as<Bound, unreachable_sentinel_t>);
|
| 61 |
};
|
| 62 |
|
| 63 |
-
template<class T, class Bound>
|
| 64 |
-
repeat_view(T, Bound) -> repeat_view<T, Bound>;
|
| 65 |
}
|
| 66 |
```
|
| 67 |
|
| 68 |
``` cpp
|
| 69 |
constexpr explicit repeat_view(const T& value, Bound bound = Bound())
|
|
|
|
| 6 |
the same value.
|
| 7 |
|
| 8 |
The name `views::repeat` denotes a customization point object
|
| 9 |
[[customization.point.object]]. Given subexpressions `E` and `F`, the
|
| 10 |
expressions `views::repeat(E)` and `views::repeat(E, F)` are
|
| 11 |
+
expression-equivalent to `repeat_view<decay_t<decltype((E))>>(E)` and
|
| 12 |
+
`repeat_view(E, F)`, respectively.
|
| 13 |
|
| 14 |
[*Example 1*:
|
| 15 |
|
| 16 |
``` cpp
|
| 17 |
for (int i : views::repeat(17, 4))
|
|
|
|
| 58 |
constexpr unreachable_sentinel_t end() const noexcept;
|
| 59 |
|
| 60 |
constexpr auto size() const requires (!same_as<Bound, unreachable_sentinel_t>);
|
| 61 |
};
|
| 62 |
|
| 63 |
+
template<class T, class Bound = unreachable_sentinel_t>
|
| 64 |
+
repeat_view(T, Bound = Bound()) -> repeat_view<T, Bound>;
|
| 65 |
}
|
| 66 |
```
|
| 67 |
|
| 68 |
``` cpp
|
| 69 |
constexpr explicit repeat_view(const T& value, Bound bound = Bound())
|