tmp/tmp26b7678d/{from.md → to.md}
RENAMED
|
@@ -8,19 +8,17 @@ kind. The specific instances are defined in [[atomics.types.generic]],
|
|
| 8 |
[[atomics.types.operations.pointer]].
|
| 9 |
|
| 10 |
In the following operation definitions:
|
| 11 |
|
| 12 |
- an *A* refers to one of the atomic types.
|
| 13 |
-
- a *C* refers to its corresponding non-atomic type.
|
| 14 |
-
`atomic_address` atomic type corresponds to the `void*` non-atomic
|
| 15 |
-
type.
|
| 16 |
- an *M* refers to type of the other argument for arithmetic operations.
|
| 17 |
For integral atomic types, *M* is *C*. For atomic address types, *M*
|
| 18 |
is `std::ptrdiff_t`.
|
| 19 |
-
- the
|
| 20 |
-
their corresponding `_explicit` with `memory_order`
|
| 21 |
-
`memory_order_seq_cst`.
|
| 22 |
|
| 23 |
Many operations are volatile-qualified. The “volatile as device
|
| 24 |
register” semantics have not changed in the standard. This qualification
|
| 25 |
means that volatility is preserved when applying these operations to
|
| 26 |
volatile objects. It does not mean that operations on non-volatile
|
|
|
|
| 8 |
[[atomics.types.operations.pointer]].
|
| 9 |
|
| 10 |
In the following operation definitions:
|
| 11 |
|
| 12 |
- an *A* refers to one of the atomic types.
|
| 13 |
+
- a *C* refers to its corresponding non-atomic type.
|
|
|
|
|
|
|
| 14 |
- an *M* refers to type of the other argument for arithmetic operations.
|
| 15 |
For integral atomic types, *M* is *C*. For atomic address types, *M*
|
| 16 |
is `std::ptrdiff_t`.
|
| 17 |
+
- the non-member functions not ending in `_explicit` have the semantics
|
| 18 |
+
of their corresponding `_explicit` functions with `memory_order`
|
| 19 |
+
arguments of `memory_order_seq_cst`.
|
| 20 |
|
| 21 |
Many operations are volatile-qualified. The “volatile as device
|
| 22 |
register” semantics have not changed in the standard. This qualification
|
| 23 |
means that volatility is preserved when applying these operations to
|
| 24 |
volatile objects. It does not mean that operations on non-volatile
|