YSTest: YSLib::GDependency< _type, _tOwnerPointer > 模板类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
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 ReferentType & | ReferenceType

## Public 成员函数

| GDependency (PointerType p=PointerType())
GDependency & | operator= (const GDependency &)=default
GDependency & | operator= (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.h 第 417 行定义.

## 成员类型定义说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

typedef _type YSLib::GDependency< _type, _tOwnerPointer >::DependentType

在文件 yobject.h 第 420 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

typedef _tOwnerPointer YSLib::GDependency< _type, _tOwnerPointer >::PointerType

在文件 yobject.h 第 421 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

typedef ReferentType& YSLib::GDependency< _type, _tOwnerPointer >::ReferenceType

在文件 yobject.h 第 425 行定义.

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.h 第 424 行定义.

## 构造及析构函数说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

YSLib::GDependency< _type, _tOwnerPointer >::GDependency | ( | PointerType | p = `PointerType()` | ) |

inline

在文件 yobject.h 第 432 行定义.

## 成员函数说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

PointerType YSLib::GDependency< _type, _tOwnerPointer >::GetCopyOnWritePtr | ( |  | ) |

inline

在文件 yobject.h 第 451 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

ReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetNewRef | ( |  | ) |

inline

在文件 yobject.h 第 448 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

ConstReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetRef | ( |  | ) | const

inline

在文件 yobject.h 第 446 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

ReferenceType YSLib::GDependency< _type, _tOwnerPointer >::GetRef | ( |  | ) |

inline

在文件 yobject.h 第 447 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

YSLib::GDependency< _type, _tOwnerPointer >::operator bool | ( |  | ) | const

inline

在文件 yobject.h 第 443 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

YSLib::GDependency< _type, _tOwnerPointer >::operator ConstReferenceType | ( |  | ) | const

inline

在文件 yobject.h 第 441 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

YSLib::GDependency< _type, _tOwnerPointer >::operator ReferenceType | ( |  | ) |

inline

在文件 yobject.h 第 442 行定义.

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.h 第 464 行定义.

## 类成员变量说明

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

decltype(*PointerType()) typede YSLib::GDependency< _type, _tOwnerPointer >::ConstReferenceType)

在文件 yobject.h 第 422 行定义.

template<typename _type, class _tOwnerPointer = shared_ptr<_type>>

PointerType YSLib::GDependency< _type, _tOwnerPointer >::ptr

private

在文件 yobject.h 第 428 行定义.

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

- yobject.h