tmp/tmp5_ho6m3l/{from.md → to.md}
RENAMED
|
@@ -17,16 +17,26 @@ template<input_iterator I1, sentinel_for<I1> S1, input_iterator I2, sentinel_for
|
|
| 17 |
ranges::swap_ranges(I1 first1, S1 last1, I2 first2, S2 last2);
|
| 18 |
template<input_range R1, input_range R2>
|
| 19 |
requires indirectly_swappable<iterator_t<R1>, iterator_t<R2>>
|
| 20 |
constexpr ranges::swap_ranges_result<borrowed_iterator_t<R1>, borrowed_iterator_t<R2>>
|
| 21 |
ranges::swap_ranges(R1&& r1, R2&& r2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
```
|
| 23 |
|
| 24 |
Let:
|
| 25 |
|
| 26 |
-
- `last2` be `first2 + (last1 - first1)` for the overloads
|
| 27 |
-
parameter named `last2`;
|
| 28 |
- M be min(`last1 - first1`, `last2 - first2`).
|
| 29 |
|
| 30 |
*Preconditions:* The two ranges \[`first1`, `last1`) and \[`first2`,
|
| 31 |
`last2`) do not overlap. For the overloads in namespace `std`,
|
| 32 |
`*(first1 + `n`)` is swappable with [[swappable.requirements]]
|
|
|
|
| 17 |
ranges::swap_ranges(I1 first1, S1 last1, I2 first2, S2 last2);
|
| 18 |
template<input_range R1, input_range R2>
|
| 19 |
requires indirectly_swappable<iterator_t<R1>, iterator_t<R2>>
|
| 20 |
constexpr ranges::swap_ranges_result<borrowed_iterator_t<R1>, borrowed_iterator_t<R2>>
|
| 21 |
ranges::swap_ranges(R1&& r1, R2&& r2);
|
| 22 |
+
|
| 23 |
+
template<execution-policy Ep, random_access_iterator I1, sized_sentinel_for<I1> S1,
|
| 24 |
+
random_access_iterator I2, sized_sentinel_for<I2> S2>
|
| 25 |
+
requires indirectly_swappable<I1, I2>
|
| 26 |
+
ranges::swap_ranges_result<I1, I2>
|
| 27 |
+
ranges::swap_ranges(Ep&& exec, I1 first1, S1 last1, I2 first2, S2 last2);
|
| 28 |
+
template<execution-policy Ep, sized-random-access-range R1, sized-random-access-range R2>
|
| 29 |
+
requires indirectly_swappable<iterator_t<R1>, iterator_t<R2>>
|
| 30 |
+
ranges::swap_ranges_result<borrowed_iterator_t<R1>, borrowed_iterator_t<R2>>
|
| 31 |
+
ranges::swap_ranges(Ep&& exec, R1&& r1, R2&& r2);
|
| 32 |
```
|
| 33 |
|
| 34 |
Let:
|
| 35 |
|
| 36 |
+
- `last2` be `first2 + (last1 - first1)` for the overloads in namespace
|
| 37 |
+
`std` with no parameter named `last2`;
|
| 38 |
- M be min(`last1 - first1`, `last2 - first2`).
|
| 39 |
|
| 40 |
*Preconditions:* The two ranges \[`first1`, `last1`) and \[`first2`,
|
| 41 |
`last2`) do not overlap. For the overloads in namespace `std`,
|
| 42 |
`*(first1 + `n`)` is swappable with [[swappable.requirements]]
|