CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Private 属性 | 所有成员列表
carla::AtomicSharedPtr< T > 模板类 参考

A very simple atomic shared ptr with release-acquire memory order. 更多...

#include <AtomicSharedPtr.h>

+ 类 carla::AtomicSharedPtr< T > 继承关系图:
+ carla::AtomicSharedPtr< T > 的协作图:

Public 成员函数

template<typename... Args>
 AtomicSharedPtr (Args &&... args)
 
 AtomicSharedPtr (AtomicSharedPtr &&)=delete
 
 AtomicSharedPtr (const AtomicSharedPtr &rhs)
 
bool compare_exchange (std::shared_ptr< T > *expected, std::shared_ptr< T > desired) noexcept
 
std::shared_ptr< T > load () const noexcept
 
AtomicSharedPtroperator= (AtomicSharedPtr &&)=delete
 
AtomicSharedPtroperator= (const AtomicSharedPtr &rhs) noexcept
 
AtomicSharedPtroperator= (std::shared_ptr< T > ptr) noexcept
 
void reset (std::shared_ptr< T > ptr=nullptr) noexcept
 
void store (std::shared_ptr< T > ptr) noexcept
 

Private 属性

std::shared_ptr< T > _ptr
 

详细描述

template<typename T>
class carla::AtomicSharedPtr< T >

A very simple atomic shared ptr with release-acquire memory order.

在文件 AtomicSharedPtr.h15 行定义.

构造及析构函数说明

◆ AtomicSharedPtr() [1/3]

template<typename T >
template<typename... Args>
carla::AtomicSharedPtr< T >::AtomicSharedPtr ( Args &&... args)
inlineexplicit

在文件 AtomicSharedPtr.h19 行定义.

◆ AtomicSharedPtr() [2/3]

template<typename T >
carla::AtomicSharedPtr< T >::AtomicSharedPtr ( const AtomicSharedPtr< T > & rhs)
inline

在文件 AtomicSharedPtr.h22 行定义.

◆ AtomicSharedPtr() [3/3]

template<typename T >
carla::AtomicSharedPtr< T >::AtomicSharedPtr ( AtomicSharedPtr< T > && )
delete

成员函数说明

◆ compare_exchange()

template<typename T >
bool carla::AtomicSharedPtr< T >::compare_exchange ( std::shared_ptr< T > * expected,
std::shared_ptr< T > desired )
inlinenoexcept

在文件 AtomicSharedPtr.h39 行定义.

引用了 carla::AtomicSharedPtr< T >::_ptr.

◆ load()

template<typename T >
std::shared_ptr< T > carla::AtomicSharedPtr< T >::load ( ) const
inlinenoexcept

在文件 AtomicSharedPtr.h35 行定义.

引用了 carla::AtomicSharedPtr< T >::_ptr.

被这些函数引用 carla::client::detail::AtomicList< T >::Load() , 以及 carla::client::detail::Load().

+ 这是这个函数的调用关系图:

◆ operator=() [1/3]

template<typename T >
AtomicSharedPtr & carla::AtomicSharedPtr< T >::operator= ( AtomicSharedPtr< T > && )
delete

◆ operator=() [2/3]

template<typename T >
AtomicSharedPtr & carla::AtomicSharedPtr< T >::operator= ( const AtomicSharedPtr< T > & rhs)
inlinenoexcept

在文件 AtomicSharedPtr.h53 行定义.

引用了 carla::AtomicSharedPtr< T >::store().

+ 函数调用图:

◆ operator=() [3/3]

template<typename T >
AtomicSharedPtr & carla::AtomicSharedPtr< T >::operator= ( std::shared_ptr< T > ptr)
inlinenoexcept

在文件 AtomicSharedPtr.h48 行定义.

引用了 carla::AtomicSharedPtr< T >::store().

+ 函数调用图:

◆ reset()

template<typename T >
void carla::AtomicSharedPtr< T >::reset ( std::shared_ptr< T > ptr = nullptr)
inlinenoexcept

在文件 AtomicSharedPtr.h31 行定义.

引用了 carla::AtomicSharedPtr< T >::store().

+ 函数调用图:

◆ store()

template<typename T >
void carla::AtomicSharedPtr< T >::store ( std::shared_ptr< T > ptr)
inlinenoexcept

在文件 AtomicSharedPtr.h27 行定义.

引用了 carla::AtomicSharedPtr< T >::_ptr.

被这些函数引用 carla::AtomicSharedPtr< T >::operator=(), carla::AtomicSharedPtr< T >::operator=() , 以及 carla::AtomicSharedPtr< T >::reset().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _ptr

template<typename T >
std::shared_ptr<T> carla::AtomicSharedPtr< T >::_ptr
private

该类的文档由以下文件生成: