From Jason Turner

[range.stride.view]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp_n2gktdo/{from.md → to.md} +15 -0
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
+