tmp/tmpezndqdnm/{from.md → to.md}
RENAMED
|
@@ -39,10 +39,13 @@ namespace std::ranges {
|
|
| 39 |
requires (!(simple-view<V> && slide-caches-nothing<const V>));
|
| 40 |
constexpr auto end() const requires slide-caches-nothing<const V>;
|
| 41 |
|
| 42 |
constexpr auto size() requires sized_range<V>;
|
| 43 |
constexpr auto size() const requires sized_range<const V>;
|
|
|
|
|
|
|
|
|
|
| 44 |
};
|
| 45 |
|
| 46 |
template<class R>
|
| 47 |
slide_view(R&&, range_difference_t<R>) -> slide_view<views::all_t<R>>;
|
| 48 |
}
|
|
@@ -126,5 +129,19 @@ constexpr auto size() const requires sized_range<const V>;
|
|
| 126 |
auto sz = ranges::distance(base_) - n_ + 1;
|
| 127 |
if (sz < 0) sz = 0;
|
| 128 |
return to-unsigned-like(sz);
|
| 129 |
```
|
| 130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
requires (!(simple-view<V> && slide-caches-nothing<const V>));
|
| 40 |
constexpr auto end() const requires slide-caches-nothing<const V>;
|
| 41 |
|
| 42 |
constexpr auto size() requires sized_range<V>;
|
| 43 |
constexpr auto size() const requires sized_range<const V>;
|
| 44 |
+
|
| 45 |
+
constexpr auto reserve_hint() requires approximately_sized_range<V>;
|
| 46 |
+
constexpr auto reserve_hint() const requires approximately_sized_range<const V>;
|
| 47 |
};
|
| 48 |
|
| 49 |
template<class R>
|
| 50 |
slide_view(R&&, range_difference_t<R>) -> slide_view<views::all_t<R>>;
|
| 51 |
}
|
|
|
|
| 129 |
auto sz = ranges::distance(base_) - n_ + 1;
|
| 130 |
if (sz < 0) sz = 0;
|
| 131 |
return to-unsigned-like(sz);
|
| 132 |
```
|
| 133 |
|
| 134 |
+
``` cpp
|
| 135 |
+
constexpr auto reserve_hint() requires approximately_sized_range<V>;
|
| 136 |
+
constexpr auto reserve_hint() const requires approximately_sized_range<const V>;
|
| 137 |
+
```
|
| 138 |
+
|
| 139 |
+
*Effects:* Equivalent to:
|
| 140 |
+
|
| 141 |
+
``` cpp
|
| 142 |
+
auto sz = static_cast<range_difference_t<decltype((base_))>>(ranges::reserve_hint(base_)) -
|
| 143 |
+
n_ + 1;
|
| 144 |
+
if (sz < 0) sz = 0;
|
| 145 |
+
return to-unsigned-like(sz);
|
| 146 |
+
```
|
| 147 |
+
|