|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
浮点数原子操作基础类 更多...
#include <atomic_base.hpp>
Public 类型 | |
| using | value_type = Float |
| 值类型 | |
| using | difference_type = value_type |
| 差值类型 | |
Public 成员函数 | |
| constexpr | atomic_float_base (Float value) noexcept(is_nothrow_copy_constructible_v< Float >) |
| 构造函数 | |
| Float | operator= (Float value) noexcept |
| 赋值运算符 | |
| Float | operator= (Float value) volatile noexcept |
| volatile版本的赋值运算符 | |
| bool | is_lock_free () const noexcept |
| 检查是否支持无锁操作 | |
| bool | is_lock_free () const volatile noexcept |
| volatile版本的检查是否支持无锁操作 | |
| void | store (Float value, const memory_order mo=memory_order_seq_cst) noexcept |
| 原子存储操作 | |
| void | store (Float value, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的原子存储操作 | |
| Float | load (const memory_order mo=memory_order_seq_cst) const noexcept |
| 原子加载操作 | |
| Float | load (const memory_order mo=memory_order_seq_cst) const volatile noexcept |
| volatile版本的原子加载操作 | |
| operator Float () const noexcept | |
| 类型转换运算符 | |
| operator Float () const volatile noexcept | |
| volatile版本的类型转换运算符 | |
| Float | exchange (Float desire, const memory_order mo=memory_order_seq_cst) noexcept |
| 原子交换操作 | |
| Float | exchange (Float desire, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的原子交换操作 | |
| bool | compare_exchange_weak (Float &expected, Float desire, const memory_order success, const memory_order failure) noexcept |
| 弱比较交换操作 | |
| bool | compare_exchange_weak (Float &expected, Float desire, const memory_order success, const memory_order failure) volatile noexcept |
| volatile版本的弱比较交换操作 | |
| bool | compare_exchange_strong (Float &expected, Float desire, const memory_order success, const memory_order failure) noexcept |
| 强比较交换操作 | |
| bool | compare_exchange_strong (Float &expected, Float desire, const memory_order success, const memory_order failure) volatile noexcept |
| volatile版本的强比较交换操作 | |
| bool | compare_exchange_weak (Float &expected, Float desire, const memory_order mo=memory_order_seq_cst) noexcept |
| 简化版弱比较交换操作 | |
| bool | compare_exchange_weak (Float &expected, Float desire, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的简化版弱比较交换操作 | |
| bool | compare_exchange_strong (Float &expected, Float desire, const memory_order mo=memory_order_seq_cst) noexcept |
| 简化版强比较交换操作 | |
| bool | compare_exchange_strong (Float &expected, Float desire, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的简化版强比较交换操作 | |
| NEFORCE_ALWAYS_INLINE void | wait (Float old, const memory_order mo=memory_order_seq_cst) const noexcept |
| 等待值改变 | |
| NEFORCE_ALWAYS_INLINE void | notify_one () noexcept |
| 通知一个等待线程 | |
| NEFORCE_ALWAYS_INLINE void | notify_all () noexcept |
| 通知所有等待线程 | |
| value_type | fetch_add (value_type value, const memory_order mo=memory_order_seq_cst) noexcept |
| 原子获取并添加操作 | |
| value_type | fetch_add (value_type value, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的原子获取并添加操作 | |
| value_type | fetch_sub (value_type value, const memory_order mo=memory_order_seq_cst) noexcept |
| 原子获取并减去操作 | |
| value_type | fetch_sub (value_type value, const memory_order mo=memory_order_seq_cst) volatile noexcept |
| volatile版本的原子获取并减去操作 | |
| value_type | operator+= (value_type value) noexcept |
| 加法赋值运算符 | |
| value_type | operator+= (value_type value) volatile noexcept |
| volatile版本的加法赋值运算符 | |
| value_type | operator-= (value_type value) noexcept |
| 减法赋值运算符 | |
| value_type | operator-= (value_type value) volatile noexcept |
| volatile版本的减法赋值运算符 | |
浮点数原子操作基础类
| Float | 浮点类型 |
提供浮点类型的原子操作实现,支持加减运算。
在文件 atomic_base.hpp 第 2229 行定义.
|
inlineconstexprnoexcept |
|
inlinenoexcept |
原子获取并添加操作
| value | 要添加的值 |
| mo | 内存顺序 |
在文件 atomic_base.hpp 第 2420 行定义.
引用了 atomic_fetch_add_any() , 以及 memory_order_seq_cst.
|
inlinenoexcept |
原子获取并减去操作
| value | 要减去的值 |
| mo | 内存顺序 |
在文件 atomic_base.hpp 第 2437 行定义.
引用了 atomic_fetch_sub_any() , 以及 memory_order_seq_cst.
|
inlinenoexcept |
加法赋值运算符
| value | 要加的值 |
在文件 atomic_base.hpp 第 2453 行定义.
引用了 atomic_add_fetch_any() , 以及 memory_order_seq_cst.
|
inlinenoexcept |
减法赋值运算符
| value | 要减的值 |
在文件 atomic_base.hpp 第 2469 行定义.
引用了 atomic_sub_fetch_any() , 以及 memory_order_seq_cst.
|
inlinenoexcept |
等待值改变
| old | 期望的旧值 |
| mo | 内存顺序 |
在文件 atomic_base.hpp 第 2400 行定义.
引用了 atomic_wait_address_v(), load() , 以及 memory_order_seq_cst.