From Jason Turner

[range.split.sentinel]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp499d99n2/{from.md → to.md} +33 -0
tmp/tmp499d99n2/{from.md → to.md} RENAMED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Class `split_view::sentinel` <a id="range.split.sentinel">[[range.split.sentinel]]</a>
2
+
3
+ ``` cpp
4
+ namespace std::ranges {
5
+ template<forward_range V, forward_range Pattern>
6
+ requires view<V> && view<Pattern> &&
7
+ indirectly_comparable<iterator_t<V>, iterator_t<Pattern>, ranges::equal_to>
8
+ struct split_view<V, Pattern>::sentinel {
9
+ private:
10
+ sentinel_t<V> end_ = sentinel_t<V>(); // exposition only
11
+
12
+ public:
13
+ sentinel() = default;
14
+ constexpr explicit sentinel(split_view& parent);
15
+
16
+ friend constexpr bool operator==(const iterator& x, const sentinel& y);
17
+ };
18
+ }
19
+ ```
20
+
21
+ ``` cpp
22
+ constexpr explicit sentinel(split_view& parent);
23
+ ```
24
+
25
+ *Effects:* Initializes *end\_* with `ranges::end(parent.`*`base_`*`)`.
26
+
27
+ ``` cpp
28
+ friend constexpr bool operator==(const iterator& x, const sentinel& y);
29
+ ```
30
+
31
+ *Effects:* Equivalent to:
32
+ `return x.`*`cur_`*` == y.`*`end_`*` && !x.`*`trailing_empty_`*`;`
33
+