|
| 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版本的简化版强比较交换操作
|
| MSTL_ALWAYS_INLINE void | wait (Float old, const memory_order mo=memory_order_seq_cst) const noexcept |
| | 等待值改变
|
|
MSTL_ALWAYS_INLINE void | notify_one () noexcept |
| | 通知一个等待线程
|
|
MSTL_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版本的减法赋值运算符
|
template<typename Float>
struct atomic_float_base< Float >
浮点数原子操作基础类
- 模板参数
-
提供浮点类型的原子操作实现,支持加减运算。
在文件 atomic_base.hpp 第 2589 行定义.