tmp/tmp_n2gktdo/{from.md → to.md}
RENAMED
|
@@ -47,10 +47,13 @@ namespace std::ranges {
|
|
| 47 |
}
|
| 48 |
}
|
| 49 |
|
| 50 |
constexpr auto size() requires sized_range<V>;
|
| 51 |
constexpr auto size() const requires sized_range<const V>;
|
|
|
|
|
|
|
|
|
|
| 52 |
};
|
| 53 |
|
| 54 |
template<class R>
|
| 55 |
stride_view(R&&, range_difference_t<R>) -> stride_view<views::all_t<R>>;
|
| 56 |
}
|
|
@@ -80,5 +83,17 @@ constexpr auto size() const requires sized_range<const V>;
|
|
| 80 |
|
| 81 |
``` cpp
|
| 82 |
return to-unsigned-like(div-ceil(ranges::distance(base_), stride_));
|
| 83 |
```
|
| 84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
}
|
| 48 |
}
|
| 49 |
|
| 50 |
constexpr auto size() requires sized_range<V>;
|
| 51 |
constexpr auto size() const requires sized_range<const V>;
|
| 52 |
+
|
| 53 |
+
constexpr auto reserve_hint() requires approximately_sized_range<V>;
|
| 54 |
+
constexpr auto reserve_hint() const requires approximately_sized_range<const V>;
|
| 55 |
};
|
| 56 |
|
| 57 |
template<class R>
|
| 58 |
stride_view(R&&, range_difference_t<R>) -> stride_view<views::all_t<R>>;
|
| 59 |
}
|
|
|
|
| 83 |
|
| 84 |
``` cpp
|
| 85 |
return to-unsigned-like(div-ceil(ranges::distance(base_), stride_));
|
| 86 |
```
|
| 87 |
|
| 88 |
+
``` cpp
|
| 89 |
+
constexpr auto reserve_hint() requires approximately_sized_range<V>;
|
| 90 |
+
constexpr auto reserve_hint() const requires approximately_sized_range<const V>;
|
| 91 |
+
```
|
| 92 |
+
|
| 93 |
+
*Effects:* Equivalent to:
|
| 94 |
+
|
| 95 |
+
``` cpp
|
| 96 |
+
auto s = static_cast<range_difference_t<decltype((base_))>>(ranges::reserve_hint(base_));
|
| 97 |
+
return to-unsigned-like(div-ceil(s, stride_));
|
| 98 |
+
```
|
| 99 |
+
|