31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
[atomics.alias]
|
||
|
||
# 32 Concurrency support library [[thread]](./#thread)
|
||
|
||
## 32.5 Atomic operations [[atomics]](atomics#alias)
|
||
|
||
### 32.5.3 Type aliases [atomics.alias]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L2857)
|
||
|
||
The type aliases atomic_intN_t, atomic_uintN_t,atomic_intptr_t, and atomic_uintptr_t are defined if and only ifintN_t, uintN_t,intptr_t, and uintptr_t are defined, respectively[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L2865)
|
||
|
||
The type aliasesatomic_signed_lock_free and atomic_unsigned_lock_free name specializations of atomic whose template arguments are integral types, respectively signed and unsigned,
|
||
and whose is_always_lock_free property is true[.](#2.sentence-1)
|
||
|
||
[*Note [1](#note-1)*:
|
||
|
||
These aliases are optional in freestanding implementations ([[compliance]](compliance "16.4.2.5 Freestanding implementations"))[.](#2.sentence-2)
|
||
|
||
â *end note*]
|
||
|
||
Implementations should choose for these aliases
|
||
the integral specializations of atomic for which the atomic waiting and notifying operations ([[atomics.wait]](atomics.wait "32.5.6 Waiting and notifying"))
|
||
are most efficient[.](#2.sentence-3)
|