@@ -44,26 +44,29 @@ <h1><atomic> design</h1>
44
44
</ p >
45
45
46
46
< blockquote > < pre >
47
- < font color ="#C80000 "> // type can be any pod</ font >
47
+ < font color ="#C80000 "> // type must be trivially copyable</ font >
48
+ bool __atomic_is_lock_free(const type* atomic_obj);
49
+
50
+ < font color ="#C80000 "> // type must be trivially copyable</ font >
48
51
type __atomic_load_relaxed(const volatile type* atomic_obj);
49
52
type __atomic_load_consume(const volatile type* atomic_obj);
50
53
type __atomic_load_acquire(const volatile type* atomic_obj);
51
54
type __atomic_load_seq_cst(const volatile type* atomic_obj);
52
55
53
- < font color ="#C80000 "> // type can be any pod </ font >
56
+ < font color ="#C80000 "> // type must be trivially copyable </ font >
54
57
type __atomic_store_relaxed(volatile type* atomic_obj, type desired);
55
58
type __atomic_store_release(volatile type* atomic_obj, type desired);
56
59
type __atomic_store_seq_cst(volatile type* atomic_obj, type desired);
57
60
58
- < font color ="#C80000 "> // type can be any pod </ font >
61
+ < font color ="#C80000 "> // type must be trivially copyable </ font >
59
62
type __atomic_exchange_relaxed(volatile type* atomic_obj, type desired);
60
63
type __atomic_exchange_consume(volatile type* atomic_obj, type desired);
61
64
type __atomic_exchange_acquire(volatile type* atomic_obj, type desired);
62
65
type __atomic_exchange_release(volatile type* atomic_obj, type desired);
63
66
type __atomic_exchange_acq_rel(volatile type* atomic_obj, type desired);
64
67
type __atomic_exchange_seq_cst(volatile type* atomic_obj, type desired);
65
68
66
- < font color ="#C80000 "> // type can be any pod </ font >
69
+ < font color ="#C80000 "> // type must be trivially copyable </ font >
67
70
bool __atomic_compare_exchange_strong_relaxed_relaxed(volatile type* atomic_obj,
68
71
type* expected,
69
72
type desired);
@@ -113,7 +116,7 @@ <h1><atomic> design</h1>
113
116
type* expected,
114
117
type desired);
115
118
116
- < font color ="#C80000 "> // type can be any pod </ font >
119
+ < font color ="#C80000 "> // type must be trivially copyable </ font >
117
120
bool __atomic_compare_exchange_weak_relaxed_relaxed(volatile type* atomic_obj,
118
121
type* expected,
119
122
type desired);
0 commit comments