标准库头文件 <atomic>
来自cppreference.com
此头文件是原子操作库的一部分。
类 | |
(C++11) |
atomic 类模板及其针对布尔、整型和指针类型的特化 (类模板) |
(C++20) |
提供非原子对象上的原子操作 (类模板) |
(C++11) |
免锁的布尔原子类型 (类) |
(C++11) |
为给定的原子操作定义内存顺序制约 (枚举) |
(C++11) |
std::atomic<bool> (typedef) |
(C++11) |
std::atomic<char> (typedef) |
(C++11) |
std::atomic<signed char> (typedef) |
(C++11) |
std::atomic<unsigned char> (typedef) |
(C++11) |
std::atomic<short> (typedef) |
(C++11) |
std::atomic<unsigned short> (typedef) |
(C++11) |
std::atomic<int> (typedef) |
(C++11) |
std::atomic<unsigned int> (typedef) |
(C++11) |
std::atomic<long> (typedef) |
(C++11) |
std::atomic<unsigned long> (typedef) |
(C++11) |
std::atomic<long long> (typedef) |
(C++11) |
std::atomic<unsigned long long> (typedef) |
(C++20) |
std::atomic<char8_t> (typedef) |
(C++11) |
std::atomic<char16_t> (typedef) |
(C++11) |
std::atomic<char32_t> (typedef) |
(C++11) |
std::atomic<wchar_t> (typedef) |
(C++11)(可选) |
std::atomic<std::int8_t> (typedef) |
(C++11)(可选) |
std::atomic<std::uint8_t> (typedef) |
(C++11)(可选) |
std::atomic<std::int16_t> (typedef) |
(C++11)(可选) |
std::atomic<std::uint16_t> (typedef) |
(C++11)(可选) |
std::atomic<std::int32_t> (typedef) |
(C++11)(可选) |
std::atomic<std::uint32_t> (typedef) |
(C++11)(可选) |
std::atomic<std::int64_t> (typedef) |
(C++11)(可选) |
std::atomic<std::uint64_t> (typedef) |
(C++11) |
std::atomic<std::int_least8_t> (typedef) |
(C++11) |
std::atomic<std::uint_least8_t> (typedef) |
(C++11) |
std::atomic<std::int_least16_t> (typedef) |
(C++11) |
std::atomic<std::uint_least16_t> (typedef) |
(C++11) |
std::atomic<std::int_least32_t> (typedef) |
(C++11) |
std::atomic<std::uint_least32_t> (typedef) |
(C++11) |
std::atomic<std::int_least64_t> (typedef) |
(C++11) |
std::atomic<std::uint_least64_t> (typedef) |
(C++11) |
std::atomic<std::int_fast8_t> (typedef) |
(C++11) |
std::atomic<std::uint_fast8_t> (typedef) |
(C++11) |
std::atomic<std::int_fast16_t> (typedef) |
(C++11) |
std::atomic<std::uint_fast16_t> (typedef) |
(C++11) |
std::atomic<std::int_fast32_t> (typedef) |
(C++11) |
std::atomic<std::uint_fast32_t> (typedef) |
(C++11) |
std::atomic<std::int_fast64_t> (typedef) |
(C++11) |
std::atomic<std::uint_fast64_t> (typedef) |
(C++11)(可选) |
std::atomic<std::intptr_t> (typedef) |
(C++11)(可选) |
std::atomic<std::uintptr_t> (typedef) |
(C++11) |
std::atomic<std::size_t> (typedef) |
(C++11) |
std::atomic<std::ptrdiff_t> (typedef) |
(C++11) |
std::atomic<std::intmax_t> (typedef) |
(C++11) |
std::atomic<std::uintmax_t> (typedef) |
(C++20) |
免锁且对于等待/提醒最高效的有符号整数原子类型 (typedef) |
(C++20) |
免锁且对于等待/提醒最高效的无符号整数原子类型 (typedef) |
函数 | |
(C++11) |
检查对该原子类型的操作是否是无锁的 (函数模板) |
(C++11)(C++11) |
原子地以非原子实参替换原子对象的值 (函数模板) |
(C++11)(C++11) |
原子地获得存储于原子对象的值 (函数模板) |
(C++11)(C++11) |
原子地以非原子实参的值替换原子对象的值,并返回该原子对象的旧值 (函数模板) |
原子地比较原子对象和非原子实参的值,若相等则进行 atomic_exchange,若不相等则进行 atomic_load (函数模板) | |
(C++11)(C++11) |
将非原子值加到原子对象,并获得原子对象的先前值 (函数模板) |
(C++11)(C++11) |
从原子对象减去非原子值,并获得原子对象的先前值 (函数模板) |
(C++11)(C++11) |
将原子对象替换为与非原子实参逻辑与的结果,并获得原子对象的先前值 (函数模板) |
(C++11)(C++11) |
将原子对象替换为与非原子实参逻辑或的结果,并获得原子对象的先前值 (函数模板) |
(C++11)(C++11) |
将原子对象替换为与非原子实参逻辑异或的结果,并获得原子对象的先前值 (函数模板) |
(C++20)(C++20) |
阻塞线程直至被提醒且原子值更改 (函数模板) |
(C++20) |
提醒一个在 atomic_wait 中阻塞的线程 (函数模板) |
(C++20) |
提醒所有在 atomic_wait 中阻塞的线程 (函数模板) |
(C++20)(C++20) |
原子地返回标志的值 (函数) |
原子地设置标志为 true 并返回其先前值 (函数) | |
(C++11)(C++11) |
原子地设置标志值为 false (函数) |
(C++20)(C++20) |
阻塞线程,直至被提醒且标志更改 (函数) |
(C++20) |
提醒一个在 atomic_flag_wait 中阻塞的线程 (函数) |
(C++20) |
提醒所有在 atomic_flag_wait 中阻塞的线程 (函数) |
(C++11)(C++20 中弃用) |
对默认构造的原子对象进行非原子初始化 (函数模板) |
(C++11) |
从 std::memory_order_consume 依赖树移除指定对象 (函数模板) |