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

Holds an atomic pointer to a list. 更多...

#include <AtomicList.h>

+ 类 carla::client::detail::AtomicList< T > 继承关系图:
+ carla::client::detail::AtomicList< T > 的协作图:

Public 成员函数

 AtomicList ()
 
void Clear ()
 
void DeleteByIndex (size_t index)
 
template<typename ValueT >
void DeleteByValue (const ValueT &value)
 
std::shared_ptr< const ListTLoad () const
 Returns a pointer to the list.
 
template<typename ValueT >
void Push (ValueT &&value)
 

Private 类型

using ListT = std::vector<T>
 

Private 属性

AtomicSharedPtr< const ListT_list
 
std::mutex _mutex
 

额外继承的成员函数

- Private 成员函数 继承自 carla::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

详细描述

template<typename T>
class carla::client::detail::AtomicList< T >

Holds an atomic pointer to a list.

警告
Only Load method is atomic, modifications to the list are locked with a mutex.

在文件 AtomicList.h25 行定义.

成员类型定义说明

◆ ListT

template<typename T >
using carla::client::detail::AtomicList< T >::ListT = std::vector<T>
private

在文件 AtomicList.h26 行定义.

构造及析构函数说明

◆ AtomicList()

template<typename T >
carla::client::detail::AtomicList< T >::AtomicList ( )
inline

在文件 AtomicList.h29 行定义.

成员函数说明

◆ Clear()

template<typename T >
void carla::client::detail::AtomicList< T >::Clear ( )
inline

◆ DeleteByIndex()

template<typename T >
void carla::client::detail::AtomicList< T >::DeleteByIndex ( size_t index)
inline

在文件 AtomicList.h39 行定义.

引用了 carla::client::detail::AtomicList< T >::_list, carla::client::detail::AtomicList< T >::_mutex , 以及 carla::client::detail::AtomicList< T >::Load().

+ 函数调用图:

◆ DeleteByValue()

template<typename T >
template<typename ValueT >
void carla::client::detail::AtomicList< T >::DeleteByValue ( const ValueT & value)
inline

在文件 AtomicList.h49 行定义.

引用了 carla::client::detail::AtomicList< T >::_list, carla::client::detail::AtomicList< T >::_mutex , 以及 carla::client::detail::AtomicList< T >::Load().

+ 函数调用图:

◆ Load()

template<typename T >
std::shared_ptr< const ListT > carla::client::detail::AtomicList< T >::Load ( ) const
inline

Returns a pointer to the list.

在文件 AtomicList.h62 行定义.

引用了 carla::client::detail::AtomicList< T >::_list , 以及 carla::AtomicSharedPtr< T >::load().

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

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

◆ Push()

template<typename T >
template<typename ValueT >
void carla::client::detail::AtomicList< T >::Push ( ValueT && value)
inline

在文件 AtomicList.h32 行定义.

引用了 carla::client::detail::AtomicList< T >::_list, carla::client::detail::AtomicList< T >::_mutex , 以及 carla::client::detail::AtomicList< T >::Load().

+ 函数调用图:

类成员变量说明

◆ _list

template<typename T >
AtomicSharedPtr<const ListT> carla::client::detail::AtomicList< T >::_list
private

◆ _mutex

template<typename T >
std::mutex carla::client::detail::AtomicList< T >::_mutex
private

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