fastdo  0.5.12
winux::SharedPointer< _Ty > 模板类 参考

#include <smartptr.hpp>

类 winux::SharedPointer< _Ty > 继承关系图:
winux::SharedPointer< _Ty > 的协作图:

Public 类型

typedef SharedHandle< _Ty * > MyBase
 
typedef _Ty Type
 
- Public 类型 继承自 winux::SharedHandle< _Ty * >
typedef _Ty * HType
 

Public 成员函数

 SharedPointer ()
 
 SharedPointer (_Ty *p)
 
template<typename _Dt >
 SharedPointer (_Ty *p, _Dt dt)
 
template<typename _Ty2 >
 SharedPointer (_Ty2 *p)
 
template<typename _Ty2 , typename _Dt >
 SharedPointer (_Ty2 *p, _Dt dt)
 
 SharedPointer (SharedPointer const &other)
 
SharedPointeroperator= (SharedPointer const &other)
 
template<typename _Ty2 >
 SharedPointer (SharedPointer< _Ty2 > const &other)
 
template<typename _Ty2 >
SharedPointeroperator= (SharedPointer< _Ty2 > const &other)
 
void attachNew (_Ty *p)
 
template<typename _Dt >
void attachNew (_Ty *p, _Dt dt)
 
template<typename _Ty2 >
void attachNew (_Ty2 *p)
 
template<typename _Ty2 , typename _Dt >
void attachNew (_Ty2 *p, _Dt dt)
 
template<typename _Ty2 >
SharedPointer< _Ty2 > cast ()
 把指针由_Ty转换成_Ty2类型 更多...
 
template<typename _Ty2 >
SharedPointer< _Ty2 > ensureCast ()
 把指针由_Ty转换成_Ty2类型 更多...
 
- Public 成员函数 继承自 winux::SharedHandle< _Ty * >
 SharedHandle ()
 
 SharedHandle (_Ty * h, _Ty * failVal)
 
 SharedHandle (_Ty * h, _Ty * failVal, _Dt dt)
 
 SharedHandle (_HTy2 h, _HTy2 failVal)
 
 SharedHandle (_HTy2 h, _HTy2 failVal, _Dt dt)
 
 SharedHandle (SharedHandle const &other)
 
 SharedHandle (SharedHandle< _HTy2 > const &other)
 
virtual ~SharedHandle ()
 
SharedHandleoperator= (SharedHandle const &other)
 
SharedHandleoperator= (SharedHandle< _HTy2 > const &other)
 
void attachNew (_Ty * h, _Ty * failVal)
 
void attachNew (_Ty * h, _Ty * failVal, _Dt dt)
 
void attachNew (_HTy2 h, _HTy2 failVal)
 
void attachNew (_HTy2 h, _HTy2 failVal, _Dt dt)
 
void attach (SharedHandleData const &data, bool isIncRef)
 管理一个资源 更多...
 
void attach (typename SharedHandle< _HTy2 >::SharedHandleData const &data, bool isIncRef)
 管理一个资源 更多...
 
void attach (_HTy2 h, SharedDeleterContext *ctx, bool isIncRef)
 管理一个资源 更多...
 
SharedHandleData detach ()
 
SharedHandleData peek () const
 
void reset ()
 
_Ty * get () const
 
 operator bool () const
 
_Ty * operator-> ()
 
_Ty * operator-> () const
 

友元

template<typename _Ty0 >
class SharedPointer
 
template<typename _Ty0 >
class WeakPointer
 

额外继承的成员函数

- Protected 成员函数 继承自 winux::SharedHandle< _Ty * >
void _reset0 (_HTy2 newH, SharedDeleterContext *newCtx)
 减少自身引用计数,管理新资源 更多...
 
void _reset (_HTy2 otherH, SharedDeleterContext *otherCtx)
 增加另一个shared的资源引用计数,减少自身计数。管理另一个shared的资源 更多...
 
void _reset (SharedHandle< _HTy2 > const &other)
 增加另一个shared的资源引用计数,减少自身计数。管理另一个shared的资源 更多...
 
- Protected 属性 继承自 winux::SharedHandle< _Ty * >
SharedHandleData _self
 

详细描述

template<typename _Ty>
class winux::SharedPointer< _Ty >

在文件 smartptr.hpp639 行定义.

成员类型定义说明

template<typename _Ty>
typedef SharedHandle<_Ty*> winux::SharedPointer< _Ty >::MyBase

在文件 smartptr.hpp642 行定义.

template<typename _Ty>
typedef _Ty winux::SharedPointer< _Ty >::Type

在文件 smartptr.hpp643 行定义.

构造及析构函数说明

template<typename _Ty>
winux::SharedPointer< _Ty >::SharedPointer ( )
inline

在文件 smartptr.hpp645 行定义.

template<typename _Ty>
winux::SharedPointer< _Ty >::SharedPointer ( _Ty *  p)
inlineexplicit

在文件 smartptr.hpp647 行定义.

template<typename _Ty>
template<typename _Dt >
winux::SharedPointer< _Ty >::SharedPointer ( _Ty *  p,
_Dt  dt 
)
inline

在文件 smartptr.hpp650 行定义.

template<typename _Ty>
template<typename _Ty2 >
winux::SharedPointer< _Ty >::SharedPointer ( _Ty2 *  p)
inlineexplicit

在文件 smartptr.hpp653 行定义.

template<typename _Ty>
template<typename _Ty2 , typename _Dt >
winux::SharedPointer< _Ty >::SharedPointer ( _Ty2 *  p,
_Dt  dt 
)
inline

在文件 smartptr.hpp656 行定义.

template<typename _Ty>
winux::SharedPointer< _Ty >::SharedPointer ( SharedPointer< _Ty > const &  other)
inline

在文件 smartptr.hpp658 行定义.

template<typename _Ty>
template<typename _Ty2 >
winux::SharedPointer< _Ty >::SharedPointer ( SharedPointer< _Ty2 > const &  other)
inline

在文件 smartptr.hpp670 行定义.

成员函数说明

template<typename _Ty>
void winux::SharedPointer< _Ty >::attachNew ( _Ty *  p)
inline

在文件 smartptr.hpp682 行定义.

template<typename _Ty>
template<typename _Dt >
void winux::SharedPointer< _Ty >::attachNew ( _Ty *  p,
_Dt  dt 
)
inline

在文件 smartptr.hpp688 行定义.

template<typename _Ty>
template<typename _Ty2 >
void winux::SharedPointer< _Ty >::attachNew ( _Ty2 *  p)
inline

在文件 smartptr.hpp694 行定义.

template<typename _Ty>
template<typename _Ty2 , typename _Dt >
void winux::SharedPointer< _Ty >::attachNew ( _Ty2 *  p,
_Dt  dt 
)
inline

在文件 smartptr.hpp700 行定义.

template<typename _Ty>
template<typename _Ty2 >
SharedPointer<_Ty2> winux::SharedPointer< _Ty >::cast ( )
inline

把指针由_Ty转换成_Ty2类型

通常_Ty为基类,_Ty2为派生类,并且_Ty指针所指的是_Ty2类型的对象。 如果转换失败,返回空指针。如果转换成功,引用计数增加。

在文件 smartptr.hpp710 行定义.

template<typename _Ty>
template<typename _Ty2 >
SharedPointer<_Ty2> winux::SharedPointer< _Ty >::ensureCast ( )
inline

把指针由_Ty转换成_Ty2类型

通常_Ty为基类,_Ty2为派生类,并且_Ty指针所指的必须是_Ty2类型的对象,才能使用这个函数。 你必须担保转换成功,否则将产生灾难。

在文件 smartptr.hpp724 行定义.

template<typename _Ty>
SharedPointer& winux::SharedPointer< _Ty >::operator= ( SharedPointer< _Ty > const &  other)
inline

在文件 smartptr.hpp663 行定义.

template<typename _Ty>
template<typename _Ty2 >
SharedPointer& winux::SharedPointer< _Ty >::operator= ( SharedPointer< _Ty2 > const &  other)
inline

在文件 smartptr.hpp676 行定义.

友元及相关函数文档

template<typename _Ty>
template<typename _Ty0 >
friend class SharedPointer
friend

在文件 smartptr.hpp732 行定义.

template<typename _Ty>
template<typename _Ty0 >
friend class WeakPointer
friend

在文件 smartptr.hpp734 行定义.


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