Содержимое заголовка
#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 см. описание
#define ATOMIC_LLONG_LOCK_FREE см. описание
#define ATOMIC_CHAR16_T_LOCK_FREE см. описание
#define ATOMIC_CHAR32_T_LOCK_FREE см. описание
#define ATOMIC_WCHAR_T_LOCK_FREE см. описание
#define ATOMIC_POINTER_LOCK_FREE см. описание
#define ATOMIC_VAR_INIT(value) см. описание
namespace std {
enum memory_order;
struct atomic_flag;
typedef см. описание atomic_bool;
typedef см. описание atomic_char;
typedef см. описание atomic_char16_t;
typedef см. описание atomic_char32_t;
typedef см. описание atomic_schar;
typedef см. описание atomic_uchar;
typedef см. описание atomic_short;
typedef см. описание atomic_ushort;
typedef см. описание atomic_int;
typedef см. описание atomic_uint;
typedef см. описание atomic_long;
typedef см. описание atomic_ulong;
typedef см. описание atomic_llong;
typedef см. описание atomic_ullong;
typedef см. описание atomic_wchar_t;
typedef см. описание atomic_int_least8_t;
typedef см. описание atomic_uint_least8_t;
typedef см. описание atomic_int_least16_t;
typedef см. описание atomic_uint_least16_t;
typedef см. описание atomic_int_least32_t;
typedef см. описание atomic_uint_least32_t;
typedef см. описание atomic_int_least64_t;
typedef см. описание atomic_uint_least64_t;
typedef см. описание atomic_int_fast8_t;
typedef см. описание atomic_uint_fast8_t;
typedef см. описание atomic_int_fast16_t;
typedef см. описание atomic_uint_fast16_t;
typedef см. описание atomic_int_fast32_t;
typedef см. описание atomic_uint_fast32_t;
typedef см. описание atomic_int_fast64_t;
typedef см. описание atomic_uint_fast64_t;
typedef см. описание atomic_int8_t;
typedef см. описание atomic_uint8_t;
typedef см. описание atomic_int16_t;
typedef см. описание atomic_uint16_t;
typedef см. описание atomic_int32_t;
typedef см. описание atomic_uint32_t;
typedef см. описание atomic_int64_t;
typedef см. описание atomic_uint64_t;
typedef см. описание atomic_intptr_t;
typedef см. описание atomic_uintptr_t;
typedef см. описание atomic_size_t;
typedef см. описание atomic_ssize_t;
typedef см. описание atomic_ptrdiff_t;
typedef см. описание atomic_intmax_t;
typedef см. описание atomic_uintmax_t;
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_ itype |
Специализация 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_ xxx _LOCK_FREE
, макросы
Эти макросы определяют, являются ли атомарные типы, соответствующие различным встроенным типам, свободными от блокировок.
Объявления макросов
#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 см. описание
#define ATOMIC_LLONG_LOCK_FREE см. описание
#define ATOMIC_CHAR16_T_LOCK_FREE см. описание
#define ATOMIC_CHAR32_T_LOCK_FREE см. описание
#define ATOMIC_WCHAR_T_LOCK_FREE см. описание
Читать дальше