Files
2025-10-25 03:02:53 +03:00

31 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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.5Freestanding 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.6Waiting and notifying"))
are most efficient[.](#2.sentence-3)