tmp/tmpyzg1yqkn/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Concept <a id="alg.req.ind.swap">[[alg.req.ind.swap]]</a>
|
| 2 |
+
|
| 3 |
+
The `indirectly_swappable` concept specifies a swappable relationship
|
| 4 |
+
between the values referenced by two `indirectly_readable` types.
|
| 5 |
+
|
| 6 |
+
``` cpp
|
| 7 |
+
template<class I1, class I2 = I1>
|
| 8 |
+
concept indirectly_swappable =
|
| 9 |
+
indirectly_readable<I1> && indirectly_readable<I2> &&
|
| 10 |
+
requires(const I1 i1, const I2 i2) {
|
| 11 |
+
ranges::iter_swap(i1, i1);
|
| 12 |
+
ranges::iter_swap(i2, i2);
|
| 13 |
+
ranges::iter_swap(i1, i2);
|
| 14 |
+
ranges::iter_swap(i2, i1);
|
| 15 |
+
};
|
| 16 |
+
```
|
| 17 |
+
|