fastdo  0.6.16
winux::SimpleHandle< _HTy > 模板类 参考

简单句柄类,管理各种资源的自动释放,赋值相当于传递管理权。 更多...

#include <smartptr.hpp>

winux::SimpleHandle< _HTy > 的协作图:

struct  SimpleHandleData
 句柄数据结构体 更多...
 

Public 类型

typedef _HTy HType
 句柄类型 更多...
 

Public 成员函数

 SimpleHandle ()
 构造函数0 更多...
 
 SimpleHandle (_HTy h, _HTy failVal)
 构造函数1_1 更多...
 
template<typename _Dt >
 SimpleHandle (_HTy h, _HTy failVal, _Dt dt)
 构造函数1_2 更多...
 
template<typename _HTy2 >
 SimpleHandle (_HTy2 h, _HTy2 failVal)
 构造函数2_1。_HTy2为可直接转为_HTy的类型 更多...
 
template<typename _HTy2 , typename _Dt >
 SimpleHandle (_HTy2 h, _HTy2 failVal, _Dt dt)
 构造函数2_2。_HTy2为可直接转为_HTy的类型 更多...
 
 ~SimpleHandle ()
 析构函数 更多...
 
 SimpleHandle (SimpleHandle const &other)
 拷贝构造函数1 更多...
 
SimpleHandleoperator= (SimpleHandle const &other)
 拷贝赋值函数1 更多...
 
template<typename _HTy2 >
 SimpleHandle (SimpleHandle< _HTy2 > const &other)
 拷贝构造函数2。_HTy2为可直接转为_HTy的类型 更多...
 
template<typename _HTy2 >
SimpleHandleoperator= (SimpleHandle< _HTy2 > const &other)
 拷贝赋值函数2。_HTy2为可直接转为_HTy的类型 更多...
 
void attachNew (_HTy h, _HTy failVal)
 附加新句柄,管理新资源 更多...
 
template<typename _Dt >
void attachNew (_HTy h, _HTy failVal, _Dt dt)
 附加新句柄,管理新资源 更多...
 
template<typename _HTy2 >
void attachNew (_HTy2 h, _HTy2 failVal)
 附加新句柄,管理新资源。_HTy2为可直接转为_HTy的类型 更多...
 
template<typename _HTy2 , typename _Dt >
void attachNew (_HTy2 h, _HTy2 failVal, _Dt dt)
 附加新句柄,管理新资源。_HTy2为可直接转为_HTy的类型 更多...
 
void attach (SimpleHandleData const &data)
 附加其他SimpleHandle对象detach()出的句柄数据 更多...
 
template<typename _HTy2 >
void attach (typename SimpleHandle< _HTy2 >::SimpleHandleData const &data)
 附加其他SimpleHandle对象detach()出的句柄数据。_HTy2为可直接转为_HTy的类型 更多...
 
template<typename _HTy2 >
void attach (_HTy2 h, SimpleDeleterContext *ctx)
 附加其他SimpleHandle对象detach()出的句柄和删除器场景。_HTy2为可直接转为_HTy的类型 更多...
 
SimpleHandleData detach ()
 资源脱离管理,返回句柄数据 更多...
 
void reset ()
 释放资源并重置 更多...
 
_HTy get () const
 获取句柄 更多...
 
SimpleDeleterContextgetContext () const
 
 operator bool () const
 判断是否在管理资源 更多...
 
bool operator< (SimpleHandle const &other) const
 less,给MAP使用 更多...
 
_HTy operator-> ()
 
_HTy operator-> () const
 

Protected 成员函数

template<typename _HTy2 >
void _reset0 (_HTy2 newH, SimpleDeleterContext *newCtx)
 释放自身资源,管理新资源 更多...
 
template<typename _HTy2 >
void _reset (_HTy2 &otherH, SimpleDeleterContext *&otherCtx)
 释放自身资源,接管另一个SimpleHandle的资源,另一个SimpleHandle置零 更多...
 
template<typename _HTy2 >
void _reset (SimpleHandle< _HTy2 > const &other)
 释放自身资源,接管另一个SimpleHandle的资源,另一个SimpleHandle置零 更多...
 

Protected 属性

SimpleHandleData _self
 

友元

template<typename _HTy0 >
class SimpleHandle
 

详细描述

template<typename _HTy>
class winux::SimpleHandle< _HTy >

简单句柄类,管理各种资源的自动释放,赋值相当于传递管理权。

如 ptr2 = ptr1。ptr1将管理权传递到ptr2,ptr1失效。
还能指定一个failVal指示资源分配失败后的句柄值,当不等于这个值时才会创建删除器场景释放资源。

在文件 smartptr.hpp88 行定义.

成员类型定义说明

template<typename _HTy>
typedef _HTy winux::SimpleHandle< _HTy >::HType

句柄类型

在文件 smartptr.hpp92 行定义.

构造及析构函数说明

template<typename _HTy>
winux::SimpleHandle< _HTy >::SimpleHandle ( )
inline

构造函数0

在文件 smartptr.hpp104 行定义.

template<typename _HTy>
winux::SimpleHandle< _HTy >::SimpleHandle ( _HTy  h,
_HTy  failVal 
)
inline

构造函数1_1

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值

在文件 smartptr.hpp110 行定义.

template<typename _HTy>
template<typename _Dt >
winux::SimpleHandle< _HTy >::SimpleHandle ( _HTy  h,
_HTy  failVal,
_Dt  dt 
)
inline

构造函数1_2

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值
[in]dt可调用删除器

在文件 smartptr.hpp118 行定义.

template<typename _HTy>
template<typename _HTy2 >
winux::SimpleHandle< _HTy >::SimpleHandle ( _HTy2  h,
_HTy2  failVal 
)
inline

构造函数2_1。_HTy2为可直接转为_HTy的类型

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值

在文件 smartptr.hpp125 行定义.

template<typename _HTy>
template<typename _HTy2 , typename _Dt >
winux::SimpleHandle< _HTy >::SimpleHandle ( _HTy2  h,
_HTy2  failVal,
_Dt  dt 
)
inline

构造函数2_2。_HTy2为可直接转为_HTy的类型

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值
[in]dt可调用删除器

在文件 smartptr.hpp133 行定义.

template<typename _HTy>
winux::SimpleHandle< _HTy >::~SimpleHandle ( )
inline

析构函数

在文件 smartptr.hpp136 行定义.

template<typename _HTy>
winux::SimpleHandle< _HTy >::SimpleHandle ( SimpleHandle< _HTy > const &  other)
inline

拷贝构造函数1

在文件 smartptr.hpp142 行定义.

template<typename _HTy>
template<typename _HTy2 >
winux::SimpleHandle< _HTy >::SimpleHandle ( SimpleHandle< _HTy2 > const &  other)
inline

拷贝构造函数2。_HTy2为可直接转为_HTy的类型

在文件 smartptr.hpp156 行定义.

成员函数说明

template<typename _HTy>
SimpleHandle& winux::SimpleHandle< _HTy >::operator= ( SimpleHandle< _HTy > const &  other)
inline

拷贝赋值函数1

在文件 smartptr.hpp148 行定义.

template<typename _HTy>
template<typename _HTy2 >
SimpleHandle& winux::SimpleHandle< _HTy >::operator= ( SimpleHandle< _HTy2 > const &  other)
inline

拷贝赋值函数2。_HTy2为可直接转为_HTy的类型

在文件 smartptr.hpp163 行定义.

template<typename _HTy>
void winux::SimpleHandle< _HTy >::attachNew ( _HTy  h,
_HTy  failVal 
)
inline

附加新句柄,管理新资源

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值

在文件 smartptr.hpp173 行定义.

template<typename _HTy>
template<typename _Dt >
void winux::SimpleHandle< _HTy >::attachNew ( _HTy  h,
_HTy  failVal,
_Dt  dt 
)
inline

附加新句柄,管理新资源

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值
[in]dt可调用删除器

在文件 smartptr.hpp184 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::attachNew ( _HTy2  h,
_HTy2  failVal 
)
inline

附加新句柄,管理新资源。_HTy2为可直接转为_HTy的类型

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值

在文件 smartptr.hpp194 行定义.

template<typename _HTy>
template<typename _HTy2 , typename _Dt >
void winux::SimpleHandle< _HTy >::attachNew ( _HTy2  h,
_HTy2  failVal,
_Dt  dt 
)
inline

附加新句柄,管理新资源。_HTy2为可直接转为_HTy的类型

参数
[in]h新资源的句柄
[in]failVal分配资源失败的句柄值
[in]dt可调用删除器

在文件 smartptr.hpp205 行定义.

template<typename _HTy>
void winux::SimpleHandle< _HTy >::attach ( SimpleHandleData const &  data)
inline

附加其他SimpleHandle对象detach()出的句柄数据

在文件 smartptr.hpp211 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::attach ( typename SimpleHandle< _HTy2 >::SimpleHandleData const &  data)
inline

附加其他SimpleHandle对象detach()出的句柄数据。_HTy2为可直接转为_HTy的类型

在文件 smartptr.hpp218 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::attach ( _HTy2  h,
SimpleDeleterContext ctx 
)
inline

附加其他SimpleHandle对象detach()出的句柄和删除器场景。_HTy2为可直接转为_HTy的类型

在文件 smartptr.hpp225 行定义.

template<typename _HTy>
SimpleHandleData winux::SimpleHandle< _HTy >::detach ( )
inline

资源脱离管理,返回句柄数据

在文件 smartptr.hpp231 行定义.

template<typename _HTy>
void winux::SimpleHandle< _HTy >::reset ( )
inline

释放资源并重置

在文件 smartptr.hpp240 行定义.

template<typename _HTy>
_HTy winux::SimpleHandle< _HTy >::get ( ) const
inline

获取句柄

在文件 smartptr.hpp246 行定义.

template<typename _HTy>
SimpleDeleterContext* winux::SimpleHandle< _HTy >::getContext ( ) const
inline

在文件 smartptr.hpp247 行定义.

template<typename _HTy>
winux::SimpleHandle< _HTy >::operator bool ( ) const
inline

判断是否在管理资源

在文件 smartptr.hpp250 行定义.

template<typename _HTy>
bool winux::SimpleHandle< _HTy >::operator< ( SimpleHandle< _HTy > const &  other) const
inline

less,给MAP使用

在文件 smartptr.hpp253 行定义.

template<typename _HTy>
_HTy winux::SimpleHandle< _HTy >::operator-> ( )
inline

在文件 smartptr.hpp255 行定义.

template<typename _HTy>
_HTy winux::SimpleHandle< _HTy >::operator-> ( ) const
inline

在文件 smartptr.hpp260 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::_reset0 ( _HTy2  newH,
SimpleDeleterContext newCtx 
)
inlineprotected

释放自身资源,管理新资源

在文件 smartptr.hpp268 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::_reset ( _HTy2 &  otherH,
SimpleDeleterContext *&  otherCtx 
)
inlineprotected

释放自身资源,接管另一个SimpleHandle的资源,另一个SimpleHandle置零

在文件 smartptr.hpp278 行定义.

template<typename _HTy>
template<typename _HTy2 >
void winux::SimpleHandle< _HTy >::_reset ( SimpleHandle< _HTy2 > const &  other)
inlineprotected

释放自身资源,接管另一个SimpleHandle的资源,另一个SimpleHandle置零

在文件 smartptr.hpp287 行定义.

友元及相关函数文档

template<typename _HTy>
template<typename _HTy0 >
friend class SimpleHandle
friend

在文件 smartptr.hpp297 行定义.

类成员变量说明

template<typename _HTy>
SimpleHandleData winux::SimpleHandle< _HTy >::_self
protected

在文件 smartptr.hpp293 行定义.


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