YSTest: YSLib::ValueHolder< _type > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | 所有成员列表
YSLib::ValueHolder< _type > 模板类 参考
Any Handlers

带等于接口的值类型动态泛型持有者。 更多...

`#include <YObject.h>`

类 YSLib::ValueHolder< _type > 继承关系图:
[图例]
YSLib::ValueHolder< _type > 的协作图:
[图例]

## Public 类型

using | value_type = _type

## Public 成员函数

| DefDeCtor (ValueHolder) template< typename _tParam
| yimpl (typename=ystdex::exclude_self_t< ValueHolder, _tParam >, typename=ystdex::enable_if_t< std::is_constructible< _type, _tParam >::value >)> inline ValueHolder(_tParam &&arg) ynoexcept(std
| DefDeCopyMoveCtorAssignment (ValueHolder) YB_ATTR_nodiscard PDefH(any
Creation const any &const | ImplI (IValueHolder) ImplRet(CreateHolder(c
Creation const any &const this value YB_ATTR_nodiscard YB_PURE | PDefH (bool, Equals, const void *p) const ImplI(IValueHolder) ImplRet(bool(p) &&AreEqualHeld(this -> value, Deref(static_cast< const value_type * >(p)))) YB_ATTR_nodiscard YB_PURE PDefH(size_t, OwnsCount,) const ynothrow ImplI(IValueHolder) ImplRet(1) YB_ATTR_nodiscard YB_PURE PDefH(any, Query, uintmax_t) const ynothrow ImplI(IValueHolder) ImplRet(

## Public 属性

| Create
Creation | c

## 额外继承的成员函数

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::boxed_value< _type >
_type | value

## 详细描述

### template<typename _type>
class YSLib::ValueHolder< _type >

带等于接口的值类型动态泛型持有者。

注解
  比较使用 ADL AreEqualHeld 。

参见
  AreEqualHeld

模板参数

  _type | 持有的值类型。

参见
  ystdex::value_holder

模板参数

  _type | 持有的值类型。

参见
  ystdex::value_holder

自从
  build 332

在文件 YObject.h 第 549 行定义.

## 成员类型定义说明

## ◆ value_type

template<typename _type >

using YSLib::ValueHolder< _type >::value_type = _type

自从
  build 352

在文件 YObject.h 第 557 行定义.

## 成员函数说明

## ◆ DefDeCopyMoveCtorAssignment()

template<typename _type >

YSLib::ValueHolder< _type >::DefDeCopyMoveCtorAssignment | ( | ValueHolder< _type > |  | ) |

自从
  build 555
  build 864

## ◆ DefDeCtor()

template<typename _type >

YSLib::ValueHolder< _type >::DefDeCtor | ( | ValueHolder< _type > |  | ) |

自从
  build 677
  build 851

## ◆ ImplI()

template<typename _type >

Creation const any& const YSLib::ValueHolder< _type >::ImplI | ( | IValueHolder< _type > |  | ) |

## ◆ PDefH()

template<typename _type >

Creation const any& const this value YB_ATTR_nodiscard YB_PURE YSLib::ValueHolder< _type >::PDefH | ( | bool | ,
|  | Equals | ,
|  | const void * | p
| ) |  | const && -> value, Deref(static_cast<const value_type*>(p)))) YB_ATTR_nodiscard YB_PURE PDefH(size_t, OwnsCount, ) const ynothrow ImplI(IValueHolder) ImplRet(1) YB_ATTR_nodiscard YB_PURE PDefH(any, Query, uintmax_t) const ynothrow ImplI(IValueHolder) ImplRet(

inline

自从
  build 752

在文件 YObject.h 第 581 行定义.

## ◆ yimpl()

template<typename _type >

YSLib::ValueHolder< _type >::yimpl | ( | typename | = `ystdex::exclude_self_t< ValueHolder< _type >, _tParam>`,
|  | typename | = `ystdex::enable_if_t< std::is_constructible<_type, _tParam>::value>`
| ) |  | &&

inline

在文件 YObject.h 第 562 行定义.

## 类成员变量说明

## ◆ c

template<typename _type >

Creation YSLib::ValueHolder< _type >::c

在文件 YObject.h 第 576 行定义.

被这些函数引用 YSLib::PointerHolder< _type, _tTraits >::Create() , 以及 YSLib::AllocatorHolder< _tTarget, _tByteAlloc >::ImplI().

## ◆ Create

template<typename _type >

YSLib::ValueHolder< _type >::Create

在文件 YObject.h 第 576 行定义.

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

- YObject.h