From Jason Turner

[range.cache.latest.sentinel]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp0xugqvhc/{from.md → to.md} +58 -0
tmp/tmp0xugqvhc/{from.md → to.md} RENAMED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Class `cache_latest_view::sentinel` <a id="range.cache.latest.sentinel">[[range.cache.latest.sentinel]]</a>
2
+
3
+ ``` cpp
4
+ namespace std::ranges {
5
+ template<input_range V>
6
+ requires view<V>
7
+ class cache_latest_view<V>::sentinel {
8
+ sentinel_t<V> end_ = sentinel_t<V>(); // exposition only
9
+
10
+ constexpr explicit sentinel(cache_latest_view& parent); // exposition only
11
+
12
+ public:
13
+ sentinel() = default;
14
+
15
+ constexpr sentinel_t<V> base() const;
16
+
17
+ friend constexpr bool operator==(const iterator& x, const sentinel& y);
18
+
19
+ friend constexpr range_difference_t<V> operator-(const iterator& x, const sentinel& y)
20
+ requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
21
+ friend constexpr range_difference_t<V> operator-(const sentinel& x, const iterator& y)
22
+ requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
23
+ };
24
+ }
25
+ ```
26
+
27
+ ``` cpp
28
+ constexpr explicit sentinel(cache_latest_view& parent);
29
+ ```
30
+
31
+ *Effects:* Initializes *end\_* with `ranges::end(parent.`*`base_`*`)`.
32
+
33
+ ``` cpp
34
+ constexpr sentinel_t<V> base() const;
35
+ ```
36
+
37
+ *Returns:* *end\_*.
38
+
39
+ ``` cpp
40
+ friend constexpr bool operator==(const iterator& x, const sentinel& y);
41
+ ```
42
+
43
+ *Returns:* `x.`*`current_`*` == y.`*`end_`*.
44
+
45
+ ``` cpp
46
+ friend constexpr range_difference_t<V> operator-(const iterator& x, const sentinel& y)
47
+ requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
48
+ ```
49
+
50
+ *Returns:* `x.`*`current_`*` - y.`*`end_`*.
51
+
52
+ ``` cpp
53
+ friend constexpr range_difference_t<V> operator-(const sentinel& x, const iterator& y)
54
+ requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
55
+ ```
56
+
57
+ *Returns:* `x.`*`end_`*` - y.`*`current_`*.
58
+