tmp/tmp0o3jv40_/{from.md → to.md}
RENAMED
|
@@ -3,12 +3,13 @@
|
|
| 3 |
The `incrementable` concept specifies requirements on types that can be
|
| 4 |
incremented with the pre- and post-increment operators. The increment
|
| 5 |
operations are required to be equality-preserving, and the type is
|
| 6 |
required to be `equality_comparable`.
|
| 7 |
|
| 8 |
-
[*Note 1*: This supersedes the
|
| 9 |
-
|
|
|
|
| 10 |
|
| 11 |
``` cpp
|
| 12 |
template<class I>
|
| 13 |
concept incrementable =
|
| 14 |
regular<I> &&
|
|
@@ -17,11 +18,11 @@ template<class I>
|
|
| 17 |
{ i++ } -> same_as<I>;
|
| 18 |
};
|
| 19 |
```
|
| 20 |
|
| 21 |
Let `a` and `b` be incrementable objects of type `I`. `I` models
|
| 22 |
-
`incrementable` only if
|
| 23 |
|
| 24 |
- If `bool(a == b)` then `bool(a++ == b)`.
|
| 25 |
- If `bool(a == b)` then `bool(((void)a++, a) == ++b)`.
|
| 26 |
|
| 27 |
[*Note 2*: The requirement that `a` equals `b` implies `++a` equals
|
|
|
|
| 3 |
The `incrementable` concept specifies requirements on types that can be
|
| 4 |
incremented with the pre- and post-increment operators. The increment
|
| 5 |
operations are required to be equality-preserving, and the type is
|
| 6 |
required to be `equality_comparable`.
|
| 7 |
|
| 8 |
+
[*Note 1*: This supersedes the “not required to be equality-preserving”
|
| 9 |
+
comments on the increment expressions in the definition of
|
| 10 |
+
`weakly_incrementable`. — *end note*]
|
| 11 |
|
| 12 |
``` cpp
|
| 13 |
template<class I>
|
| 14 |
concept incrementable =
|
| 15 |
regular<I> &&
|
|
|
|
| 18 |
{ i++ } -> same_as<I>;
|
| 19 |
};
|
| 20 |
```
|
| 21 |
|
| 22 |
Let `a` and `b` be incrementable objects of type `I`. `I` models
|
| 23 |
+
`incrementable` only if:
|
| 24 |
|
| 25 |
- If `bool(a == b)` then `bool(a++ == b)`.
|
| 26 |
- If `bool(a == b)` then `bool(((void)a++, a) == ++b)`.
|
| 27 |
|
| 28 |
[*Note 2*: The requirement that `a` equals `b` implies `++a` equals
|