tmp/tmp_v2ofqv8/{from.md → to.md}
RENAMED
|
@@ -1,12 +1,13 @@
|
|
| 1 |
-
### Partial specialization for pointers <a id="atomics.ref.pointer">[[atomics.ref.pointer]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
namespace std {
|
| 5 |
template<class T> struct atomic_ref<T*> {
|
| 6 |
private:
|
| 7 |
T** ptr; // exposition only
|
|
|
|
| 8 |
public:
|
| 9 |
using value_type = T*;
|
| 10 |
using difference_type = ptrdiff_t;
|
| 11 |
static constexpr size_t required_alignment = implementation-defined // required alignment for atomic_ref type's operations;
|
| 12 |
|
|
@@ -50,12 +51,12 @@ namespace std {
|
|
| 50 |
```
|
| 51 |
|
| 52 |
Descriptions are provided below only for members that differ from the
|
| 53 |
primary template.
|
| 54 |
|
| 55 |
-
The following operations perform arithmetic computations. The
|
| 56 |
-
operator, and computation
|
| 57 |
[[atomic.types.pointer.comp]].
|
| 58 |
|
| 59 |
``` cpp
|
| 60 |
T* fetch_key(difference_type operand, memory_order order = memory_order::seq_cst) const noexcept;
|
| 61 |
```
|
|
|
|
| 1 |
+
#### Partial specialization for pointers <a id="atomics.ref.pointer">[[atomics.ref.pointer]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
namespace std {
|
| 5 |
template<class T> struct atomic_ref<T*> {
|
| 6 |
private:
|
| 7 |
T** ptr; // exposition only
|
| 8 |
+
|
| 9 |
public:
|
| 10 |
using value_type = T*;
|
| 11 |
using difference_type = ptrdiff_t;
|
| 12 |
static constexpr size_t required_alignment = implementation-defined // required alignment for atomic_ref type's operations;
|
| 13 |
|
|
|
|
| 51 |
```
|
| 52 |
|
| 53 |
Descriptions are provided below only for members that differ from the
|
| 54 |
primary template.
|
| 55 |
|
| 56 |
+
The following operations perform arithmetic computations. The
|
| 57 |
+
correspondence among key, operator, and computation is specified in
|
| 58 |
[[atomic.types.pointer.comp]].
|
| 59 |
|
| 60 |
``` cpp
|
| 61 |
T* fetch_key(difference_type operand, memory_order order = memory_order::seq_cst) const noexcept;
|
| 62 |
```
|