From Jason Turner

[range.split.outer.value]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpquj45t3i/{from.md → to.md} +0 -50
tmp/tmpquj45t3i/{from.md → to.md} RENAMED
@@ -1,50 +0,0 @@
1
- #### Class `split_view::outer-iterator::value_type` <a id="range.split.outer.value">[[range.split.outer.value]]</a>
2
-
3
- ``` cpp
4
- namespace std::ranges {
5
- template<input_range V, forward_range Pattern>
6
- requires view<V> && view<Pattern> &&
7
- indirectly_comparable<iterator_t<V>, iterator_t<Pattern>, ranges::equal_to> &&
8
- (forward_range<V> || tiny-range<Pattern>)
9
- template<bool Const>
10
- struct split_view<V, Pattern>::outer-iterator<Const>::value_type
11
- : view_interface<value_type> {
12
- private:
13
- outer-iterator i_ = outer-iterator(); // exposition only
14
- public:
15
- value_type() = default;
16
- constexpr explicit value_type(outer-iterator i);
17
-
18
- constexpr inner-iterator<Const> begin() const requires copyable<outer-iterator>;
19
- constexpr inner-iterator<Const> begin() requires (!copyable<outer-iterator>);
20
- constexpr default_sentinel_t end() const;
21
- };
22
- }
23
- ```
24
-
25
- ``` cpp
26
- constexpr explicit value_type(outer-iterator i);
27
- ```
28
-
29
- *Effects:* Initializes *i\_* with `std::move(i)`.
30
-
31
- ``` cpp
32
- constexpr inner-iterator<Const> begin() const requires copyable<outer-iterator>;
33
- ```
34
-
35
- *Effects:* Equivalent to:
36
- `return `*`inner-iterator`*`<Const>{`*`i_`*`};`
37
-
38
- ``` cpp
39
- constexpr inner-iterator<Const> begin() requires (!copyable<outer-iterator>);
40
- ```
41
-
42
- *Effects:* Equivalent to:
43
- `return `*`inner-iterator`*`<Const>{std::move(`*`i_`*`)};`
44
-
45
- ``` cpp
46
- constexpr default_sentinel_t end() const;
47
- ```
48
-
49
- *Effects:* Equivalent to: `return default_sentinel;`
50
-