|
| bool | is_lock_free () const noexcept |
| | 检查是否无锁
|
|
constexpr | atomic (nullptr_t=nullptr) noexcept |
| | 默认构造函数
|
| | atomic (value_type value) noexcept |
| | 从shared_ptr构造
|
| value_type | load (memory_order mo=memory_order_seq_cst) const noexcept |
| | 原子加载
|
|
| operator value_type () const noexcept |
| | 隐式转换操作符
|
| void | store (value_type desired, memory_order mo=memory_order_seq_cst) noexcept |
| | 原子存储
|
|
void | operator= (value_type desired) noexcept |
| | 赋值操作符
|
|
void | operator= (nullptr_t) noexcept |
| | 赋空值操作符
|
| value_type | exchange (value_type desired, memory_order mo=memory_order_seq_cst) noexcept |
| | 交换操作
|
|
bool | compare_exchange_strong (value_type &expected, value_type desired, memory_order mo, memory_order mo2) noexcept |
| | 比较交换强版本
|
|
bool | compare_exchange_strong (value_type &expected, value_type desired, memory_order mo=memory_order_seq_cst) noexcept |
| | 简化比较交换强版本
|
|
bool | compare_exchange_weak (value_type &expected, value_type desired, memory_order mo, memory_order mo2) noexcept |
| | 比较交换弱版本
|
|
bool | compare_exchange_weak (value_type &expected, value_type desired, memory_order mo=memory_order_seq_cst) noexcept |
| | 简化比较交换弱版本
|
|
void | wait (value_type mold, memory_order mo=memory_order_seq_cst) const noexcept |
| | 等待值改变
|
|
void | notify_one () noexcept |
| | 通知一个等待者
|
|
void | notify_all () noexcept |
| | 通知所有等待者
|
| | operator T () const noexcept |
| | 类型转换运算符
|
template<typename T>
struct atomic< shared_ptr< T > >
shared_ptr的原子特化
- 模板参数
-
提供shared_ptr的原子操作支持,实现无锁的原子操作。
在文件 shared_ptr.hpp 第 1156 行定义.