typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
typedef
template
struct atomic;
extern "C" void atomic_thread_fence(memory_order order);
extern "C" void atomic_signal_fence(memory_order order);
template
T kill_dependency(T);
}
D.3.1. std::atomic_xxx
, псевдонимы типов
Для совместимости с ожидаемым стандартом С предоставляются псевдонимы typedef
для атомарных целочисленных типов. Это псевдонимы либо соответствующей специализации std::atomic
, либо базового класса этой специализации с таким же интерфейсом.
Таблица D.1. Псевдонимы атомарных типов и соответствующие им специализации std::atomic<>
std::atomic_ | Специализация std::atomic<> |
---|---|
std::atomic_char | std::atomic |
std::atomic_schar | std::atomic |
std::atomic_uchar | std::atomic |
std::atomic_short | std::atomic |
std::atomic_ushort | std::atomic |
std::atomic_int | std::atomic |
std::atomic_uint | std::atomic |
std::atomic_long | std::atomic |
std::atomic_ulong | std::atomic |
std::atomic_llong | std::atomic |
std::atomic_ullong | std::atomic |
std::atomic_wchar_t | std::atomic |
std::atomic_char16_t | std::atomic |
std::atomic_char32_t | std::atomic |
D.3.2. ATOMIC_
, макросы
Эти макросы определяют, являются ли атомарные типы, соответствующие различным встроенным типам, свободными от блокировок.
#define ATOMIC_BOOL_LOCK_FREE
#define ATOMIC_CHAR_LOCK_FREE
#define ATOMIC_SHORT_LOCK_FREE
#define ATOMIC_INT_LOCK_FREE
#define ATOMIC_LONG_LOCK_FREE