NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
atomic< shared_ptr< T > > 模板结构体 参考

shared_ptr的原子特化 更多...

#include <shared_ptr.hpp>

Public 成员函数

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的原子特化

模板参数
T对象类型

提供shared_ptr的原子操作支持,实现无锁的原子操作。

在文件 shared_ptr.hpp1156 行定义.

构造及析构函数说明

◆ atomic()

template<typename T>
atomic< shared_ptr< T > >::atomic ( value_type value)
inlinenoexcept

从shared_ptr构造

参数
value初始值

在文件 shared_ptr.hpp1181 行定义.

成员函数说明

◆ exchange()

template<typename T>
value_type atomic< shared_ptr< T > >::exchange ( value_type desired,
memory_order mo = memory_order_seq_cst )
inlinenoexcept

交换操作

参数
desired要交换的值
mo内存序
返回
交换前的值

在文件 shared_ptr.hpp1222 行定义.

引用了 memory_order_seq_cst.

◆ is_lock_free()

template<typename T>
bool atomic< shared_ptr< T > >::is_lock_free ( ) const
inlinenoexcept

检查是否无锁

返回
始终返回false

在文件 shared_ptr.hpp1170 行定义.

◆ load()

template<typename T>
value_type atomic< shared_ptr< T > >::load ( memory_order mo = memory_order_seq_cst) const
inlinenoexcept

原子加载

参数
mo内存序
返回
加载的值

在文件 shared_ptr.hpp1192 行定义.

引用了 memory_order_seq_cst.

◆ operator T()

atomic< T >::operator T ( ) const
inlinenoexcept

类型转换运算符

返回
当前值

在文件 atomic.hpp73 行定义.

◆ store()

template<typename T>
void atomic< shared_ptr< T > >::store ( value_type desired,
memory_order mo = memory_order_seq_cst )
inlinenoexcept

原子存储

参数
desired要存储的值
mo内存序

在文件 shared_ptr.hpp1204 行定义.

引用了 memory_order_seq_cst.


该结构体的文档由以下文件生成: