YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::GDependency< _type, _tOwnerPointer > 模板类 参考

依赖项类模板。 更多...

#include <yobject.h>

YSLib::GDependency< _type, _tOwnerPointer > 的协作图:

Public 类型

typedef _type DependentType
 
typedef _tOwnerPointer PointerType
 
typedef std::remove_const
< typename
std::remove_reference
< ConstReferenceType >::type >
::type 
ReferentType
 
typedef ReferentTypeReferenceType
 

Public 成员函数

 GDependency (PointerType p=PointerType())
 
GDependencyoperator= (const GDependency &)=default
 
GDependencyoperator= (GDependency &&)=default
 
 operator ConstReferenceType () const ynothrow
 
 operator ReferenceType () ynothrow
 
 operator bool () const ynothrow
 
ConstReferenceType GetRef () const ynothrow
 
ReferenceType GetRef () ynothrow
 
ReferenceType GetNewRef () ynothrow
 
PointerType GetCopyOnWritePtr ()
 
void Reset ()
 

Public 属性

decltype(*PointerType()) typede ConstReferenceType )
 

Private 属性

PointerType ptr
 

详细描述

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
class YSLib::GDependency< _type, _tOwnerPointer >

依赖项类模板。

基于被依赖的默认对象,可通过写时复制策略创建新对象;可能为空。

模板参数
_type被依赖的对象类型,需能被无参数构造。
_tOwnerPointer依赖所有者指针类型。
警告
依赖所有者指针需要实现所有权语义, 否则出现无法释放资源导致内存泄漏或其它非预期行为。
自从
build 195
待办事项:
线程模型及安全性。

在文件 yobject.h417 行定义.

成员类型定义说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
typedef _type YSLib::GDependency< _type, _tOwnerPointer >::DependentType

在文件 yobject.h420 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
typedef _tOwnerPointer YSLib::GDependency< _type, _tOwnerPointer >::PointerType

在文件 yobject.h421 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
typedef ReferentType& YSLib::GDependency< _type, _tOwnerPointer >::ReferenceType

在文件 yobject.h425 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
typedef std::remove_const<typename std::remove_reference< ConstReferenceType>::type>::type YSLib::GDependency< _type, _tOwnerPointer >::ReferentType

在文件 yobject.h424 行定义.

构造及析构函数说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
YSLib::GDependency< _type, _tOwnerPointer >::GDependency ( PointerType  p = PointerType())
inline

在文件 yobject.h432 行定义.

成员函数说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
PointerType YSLib::GDependency< _type, _tOwnerPointer >::GetCopyOnWritePtr ( )
inline

在文件 yobject.h451 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
ReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetNewRef ( )
inline

在文件 yobject.h448 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
ConstReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetRef ( ) const
inline

在文件 yobject.h446 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
ReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetRef ( )
inline

在文件 yobject.h447 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
YSLib::GDependency< _type, _tOwnerPointer >::operator bool ( ) const
inline

在文件 yobject.h443 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
YSLib::GDependency< _type, _tOwnerPointer >::operator ConstReferenceType ( ) const
inline

在文件 yobject.h441 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
YSLib::GDependency< _type, _tOwnerPointer >::operator ReferenceType ( )
inline

在文件 yobject.h442 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
GDependency& YSLib::GDependency< _type, _tOwnerPointer >::operator= ( const GDependency< _type, _tOwnerPointer > &  )
default
template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
GDependency& YSLib::GDependency< _type, _tOwnerPointer >::operator= ( GDependency< _type, _tOwnerPointer > &&  )
default
template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
void YSLib::GDependency< _type, _tOwnerPointer >::Reset ( )
inline

在文件 yobject.h464 行定义.

类成员变量说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
decltype(*PointerType()) typede YSLib::GDependency< _type, _tOwnerPointer >::ConstReferenceType)

在文件 yobject.h422 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>
PointerType YSLib::GDependency< _type, _tOwnerPointer >::ptr
private

在文件 yobject.h428 行定义.


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