tmp/tmpbzcbrxc4/{from.md → to.md}
RENAMED
|
@@ -1,24 +1,24 @@
|
|
| 1 |
#### Customizations <a id="counted.iter.cust">[[counted.iter.cust]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
-
friend constexpr
|
| 5 |
iter_move(const counted_iterator& i)
|
| 6 |
noexcept(noexcept(ranges::iter_move(i.current)))
|
| 7 |
requires input_iterator<I>;
|
| 8 |
```
|
| 9 |
|
| 10 |
-
|
| 11 |
|
| 12 |
*Effects:* Equivalent to: `return ranges::iter_move(i.current);`
|
| 13 |
|
| 14 |
``` cpp
|
| 15 |
template<indirectly_swappable<I> I2>
|
| 16 |
friend constexpr void
|
| 17 |
iter_swap(const counted_iterator& x, const counted_iterator<I2>& y)
|
| 18 |
noexcept(noexcept(ranges::iter_swap(x.current, y.current)));
|
| 19 |
```
|
| 20 |
|
| 21 |
-
|
| 22 |
|
| 23 |
*Effects:* Equivalent to `ranges::iter_swap(x.current, y.current)`.
|
| 24 |
|
|
|
|
| 1 |
#### Customizations <a id="counted.iter.cust">[[counted.iter.cust]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
+
friend constexpr decltype(auto)
|
| 5 |
iter_move(const counted_iterator& i)
|
| 6 |
noexcept(noexcept(ranges::iter_move(i.current)))
|
| 7 |
requires input_iterator<I>;
|
| 8 |
```
|
| 9 |
|
| 10 |
+
`i.length > 0` is `true`.
|
| 11 |
|
| 12 |
*Effects:* Equivalent to: `return ranges::iter_move(i.current);`
|
| 13 |
|
| 14 |
``` cpp
|
| 15 |
template<indirectly_swappable<I> I2>
|
| 16 |
friend constexpr void
|
| 17 |
iter_swap(const counted_iterator& x, const counted_iterator<I2>& y)
|
| 18 |
noexcept(noexcept(ranges::iter_swap(x.current, y.current)));
|
| 19 |
```
|
| 20 |
|
| 21 |
+
Both `x.length > 0` and `y.length > 0` are `true`.
|
| 22 |
|
| 23 |
*Effects:* Equivalent to `ranges::iter_swap(x.current, y.current)`.
|
| 24 |
|