[atomics.alias] (original) (raw)
32 Concurrency support library [thread]
32.5 Atomic operations [atomics]
32.5.3 Type aliases [atomics.alias]
The type aliases atomic_intN_t, atomic_uintN_t,atomic_intptr_t, and atomic_uintptr_tare defined if and only ifintN_t, uintN_t,intptr_t, and uintptr_tare defined, respectively.
The type aliasesatomic_signed_lock_free and atomic_unsigned_lock_freename specializations of atomicwhose template arguments are integral types, respectively signed and unsigned, and whose is_always_lock_free property is true.
[Note 1:
These aliases are optional in freestanding implementations ([compliance]).
— _end note_]
Implementations should choose for these aliases the integral specializations of atomicfor which the atomic waiting and notifying operations ([atomics.wait]) are most efficient.