[atomics.alias] (original) (raw)

33 Concurrency support library [thread]

33.5 Atomic operations [atomics]

33.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.