YSTest: ystdex::any_ops::value_holder< _type > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | 所有成员列表
ystdex::any_ops::value_holder< _type > 模板类 参考

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

`#include <any.h>`

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

## Public 类型

using | value_type = _type

## Public 成员函数

| value_holder ()=default
template<typename _tParam , typename = exclude_self_t<value_holder, _tParam>>
| value_holder (_tParam &&arg)
| value_holder (const value_holder &)=default
| value_holder (value_holder &&)=default
value_holder & | operator= (const value_holder &)=default
value_holder & | operator= (value_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 类型 继承自 ystdex::boxed_value< _type >
using | nothrow_default_constructible = details::is_nt_dc< _type >
Protected 成员函数 继承自 ystdex::boxed_value< _type >
template<typename _tParam = _type, typename = enable_if_t<is_constructible<_tParam>::value>>
| boxed_value ()
template<typename _tParam = _type, typename = enable_if_t<is_constructible<_tParam>::value>>
| boxed_value (default_init_t)
template<typename... _tParams, typename = exclude_self_params_t<boxed_value, _tParams...>, typename = enable_if_t<is_constructible<_type, _tParams...>::value>>
| boxed_value (_tParams &&... args)
| boxed_value (const boxed_value &)=default
| boxed_value (boxed_value &&)=default
boxed_value & | operator= (const boxed_value &)=default
boxed_value & | operator= (boxed_value &&)=default
| operator _type & ()
| operator const _type & () const
Protected 成员函数 继承自 ystdex::any_ops::holder
| holder ()=default
| holder (const holder &)=default
virtual | ~holder ()
| 虚析构：类定义外默认实现。 更多...
Protected 属性 继承自 ystdex::boxed_value< _type >
_type | value
相关函数 继承自 ystdex::any_ops::holder
bool | hold_same (const holder &x, const holder &y)
| 判断是否持有相同对象。 更多...

## 详细描述

### template<typename _type>
class ystdex::any_ops::value_holder< _type >

值类型动态泛型持有者。

前置条件
  值类型不被 cv-qualifier 修饰。

自从
  build 331

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

## 成员类型定义说明

## ◆ value_type

template<typename _type >

using ystdex::any_ops::value_holder< _type >::value_type = _type

自从
  build 352

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

## 构造及析构函数说明

## ◆ value_holder() [1/4]

template<typename _type >

ystdex::any_ops::value_holder< _type >::value_holder | ( |  | ) |

default

自从
  build 677

## ◆ value_holder() [2/4]

template<typename _type >
template<typename _tParam , typename = exclude_self_t<value_holder, _tParam>>

ystdex::any_ops::value_holder< _type >::value_holder | ( | _tParam && | arg | ) |

inline

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

## ◆ value_holder() [3/4]

template<typename _type >

ystdex::any_ops::value_holder< _type >::value_holder | ( | const value_holder< _type > & |  | ) |

default

自从
  build 555

## ◆ value_holder() [4/4]

template<typename _type >

ystdex::any_ops::value_holder< _type >::value_holder | ( | value_holder< _type > && |  | ) |

default

## 成员函数说明

## ◆ get()

template<typename _type >

void* ystdex::any_ops::value_holder< _type >::get | ( |  | ) | const

inlineoverridevirtual

自从
  build 348

实现了 ystdex::any_ops::holder.

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

引用了 ystdex::addressof().

函数调用图:

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

template<typename _type >

value_holder& ystdex::any_ops::value_holder< _type >::operator= | ( | const value_holder< _type > & |  | ) |

default

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

template<typename _type >

value_holder& ystdex::any_ops::value_holder< _type >::operator= | ( | value_holder< _type > && |  | ) |

default

## ◆ type()

template<typename _type >

const type_info& ystdex::any_ops::value_holder< _type >::type | ( |  | ) | const

inlineoverridevirtual

自从
  build 683

实现了 ystdex::any_ops::holder.

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

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

- any.h