YSTest: ystdex::any_ops::pointer_holder< _type, _tPointer > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Protected 属性 | 所有成员列表
ystdex::any_ops::pointer_holder< _type, _tPointer > 模板类 参考
Any Handlers

指针类型动态泛型持有者。 更多...

`#include <any.h>`

类 ystdex::any_ops::pointer_holder< _type, _tPointer > 继承关系图:
[图例]
ystdex::any_ops::pointer_holder< _type, _tPointer > 的协作图:
[图例]

## Public 类型

using | value_type = _type
using | holder_pointer = _tPointer
using | pointer = typename holder_pointer::pointer

## Public 成员函数

| pointer_holder (pointer value)
| 初始化：取得所有权。 更多...
| pointer_holder (const pointer_holder &h)
| pointer_holder (pointer_holder &&)=default
pointer_holder & | operator= (const pointer_holder &)=default
pointer_holder & | operator= (pointer_holder &&)=default
void * | get () const override
const type_info & | type () const override
Public 成员函数 继承自 ystdex::any_ops::holder
| holder ()=default
| holder (const holder &)=default
virtual | ~holder ()
| 虚析构：类定义外默认实现。 更多...

## Protected 属性

holder_pointer | p_held

## 额外继承的成员函数

相关函数 继承自 ystdex::any_ops::holder
bool | hold_same (const holder &x, const holder &y)
| 判断是否持有相同对象。 更多...

## 详细描述

### template<typename _type, class _tPointer = std::unique_ptr<_type>>
class ystdex::any_ops::pointer_holder< _type, _tPointer >

指针类型动态泛型持有者。

模板参数

  _type | 对象类型。
  _tPointer | 智能指针类型。

前置条件
  _tPointer 满足 `NullablePointer` 要求且具有 _type 对象的所有权。
  静态断言： `is_object<_type>()` 。

自从
  build 555

在文件 any.h 第 177 行定义.

## 成员类型定义说明

## ◆ holder_pointer

template<typename _type , class _tPointer = std::unique_ptr<_type>>

using ystdex::any_ops::pointer_holder< _type, _tPointer >::holder_pointer = _tPointer

在文件 any.h 第 185 行定义.

## ◆ pointer

template<typename _type , class _tPointer = std::unique_ptr<_type>>

using ystdex::any_ops::pointer_holder< _type, _tPointer >::pointer = typename holder_pointer::pointer

在文件 any.h 第 186 行定义.

## ◆ value_type

template<typename _type , class _tPointer = std::unique_ptr<_type>>

using ystdex::any_ops::pointer_holder< _type, _tPointer >::value_type = _type

自从
  build 331
  build 352

在文件 any.h 第 184 行定义.

## 构造及析构函数说明

## ◆ pointer_holder() [1/3]

template<typename _type , class _tPointer = std::unique_ptr<_type>>

ystdex::any_ops::pointer_holder< _type, _tPointer >::pointer_holder | ( | pointer | value | ) |

inline

初始化：取得所有权。

前置条件
  断言：指针指向对象。

在文件 any.h 第 196 行定义.

## ◆ pointer_holder() [2/3]

template<typename _type , class _tPointer = std::unique_ptr<_type>>

ystdex::any_ops::pointer_holder< _type, _tPointer >::pointer_holder | ( | const pointer_holder< _type, _tPointer > & | h | ) |

inline

自从
  build 352

在文件 any.h 第 201 行定义.

## ◆ pointer_holder() [3/3]

template<typename _type , class _tPointer = std::unique_ptr<_type>>

ystdex::any_ops::pointer_holder< _type, _tPointer >::pointer_holder | ( | pointer_holder< _type, _tPointer > && |  | ) |

default

## 成员函数说明

## ◆ get()

template<typename _type , class _tPointer = std::unique_ptr<_type>>

void* ystdex::any_ops::pointer_holder< _type, _tPointer >::get | ( |  | ) | const

inlineoverridevirtual

自从
  build 348

实现了 ystdex::any_ops::holder.

在文件 any.h 第 214 行定义.

## ◆ operator=() [1/2]

template<typename _type , class _tPointer = std::unique_ptr<_type>>

pointer_holder& ystdex::any_ops::pointer_holder< _type, _tPointer >::operator= | ( | const pointer_holder< _type, _tPointer > & |  | ) |

default

## ◆ operator=() [2/2]

template<typename _type , class _tPointer = std::unique_ptr<_type>>

pointer_holder& ystdex::any_ops::pointer_holder< _type, _tPointer >::operator= | ( | pointer_holder< _type, _tPointer > && |  | ) |

default

## ◆ type()

template<typename _type , class _tPointer = std::unique_ptr<_type>>

const type_info& ystdex::any_ops::pointer_holder< _type, _tPointer >::type | ( |  | ) | const

inlineoverridevirtual

自从
  build 683

实现了 ystdex::any_ops::holder.

在文件 any.h 第 221 行定义.

## 类成员变量说明

## ◆ p_held

template<typename _type , class _tPointer = std::unique_ptr<_type>>

holder_pointer ystdex::any_ops::pointer_holder< _type, _tPointer >::p_held

protected

在文件 any.h 第 189 行定义.

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

- any.h