Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::ObjectPool< T > 模板类 参考

对象池 更多...

#include <ObjectPool.h>

类 sese::ObjectPool< T > 继承关系图:
sese::Noncopyable

Public 类型

using Ptr = std::shared_ptr<ObjectPool<T>>
 
using ObjectPtr = std::shared_ptr<T>
 

Public 成员函数

 ~ObjectPool () override
 
auto borrow () noexcept
 
- Public 成员函数 继承自 sese::Noncopyable
 Noncopyable ()=default
 
virtual ~Noncopyable ()=default
 
 Noncopyable (const Noncopyable &)=delete
 删除拷贝相关构造函数
 
Noncopyableoperator= (const Noncopyable &)=delete
 删除拷贝相关构造函数
 

静态 Public 成员函数

static ObjectPool::Ptr create () noexcept
 

Private 成员函数

 ObjectPool ()=default
 

静态 Private 成员函数

static void recycleCallback (const std::weak_ptr< ObjectPool > &wk_pool, T *to_recycle) noexcept
 

Private 属性

std::mutex mutex
 
std::queue< T * > queue
 

详细描述

template<typename T>
class sese::ObjectPool< T >

对象池

模板参数
T复用对象

成员类型定义说明

◆ ObjectPtr

template<typename T >
using sese::ObjectPool< T >::ObjectPtr = std::shared_ptr<T>

◆ Ptr

template<typename T >
using sese::ObjectPool< T >::Ptr = std::shared_ptr<ObjectPool<T>>

构造及析构函数说明

◆ ~ObjectPool()

template<typename T >
sese::ObjectPool< T >::~ObjectPool ( )
inlineoverride

◆ ObjectPool()

template<typename T >
sese::ObjectPool< T >::ObjectPool ( )
privatedefault

成员函数说明

◆ borrow()

template<typename T >
auto sese::ObjectPool< T >::borrow ( )
inlinenoexcept

◆ create()

template<typename T >
static ObjectPool::Ptr sese::ObjectPool< T >::create ( )
inlinestaticnoexcept

◆ recycleCallback()

template<typename T >
static void sese::ObjectPool< T >::recycleCallback ( const std::weak_ptr< ObjectPool< T > > & wk_pool,
T * to_recycle )
inlinestaticprivatenoexcept

被这些函数引用 sese::ObjectPool< T >::borrow().

类成员变量说明

◆ mutex

template<typename T >
std::mutex sese::ObjectPool< T >::mutex
private

被这些函数引用 sese::ObjectPool< T >::borrow().

◆ queue

template<typename T >
std::queue<T *> sese::ObjectPool< T >::queue
private

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