YSTest: ystdex::details::any_base结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | Protected 成员函数 | 所有成员列表
ystdex::details::any_base结构体 参考

`#include <any.h>`

类 ystdex::details::any_base 继承关系图:
[图例]
ystdex::details::any_base 的协作图:
[图例]

## Public 成员函数

any_ops::any_storage & | call (any_ops::any_storage &t, any_ops::op_code op) const
void | checked_destroy ()
void | destroy ()
void * | get () const
any_ops::holder * | get_holder () const
template<typename _type >
_type * | get_object_ptr ()
template<typename _type >
const _type * | get_object_ptr () const
any_ops::any_storage & | get_storage () const
bool | has_value () const
void | move_from (any_base &a)
void | swap (any_base &a)
template<typename _type >
_type * | try_get_object_ptr ()
template<typename _type >
const _type * | try_get_object_ptr () const
void * | try_get () const
| 取类型中立的对象指针。 更多...
const type_info & | type () const
template<typename _type , typename... _tParams>
_type | unchecked_access (any_ops::op_code op, _tParams &&... args) const
template<typename _type >
_type | unchecked_access (default_init_t, any_ops::op_code op) const
template<typename _type >
_type | unchecked_access (any_ops::any_storage &t, any_ops::op_code op) const

## Public 属性

any_ops::any_storage | storage
any_ops::any_manager | manager

## Protected 成员函数

| any_base ()
| any_base (default_init_t)
template<class _tHandler , typename... _tParams>
| any_base (any_ops::with_handler_t< _tHandler >, _tParams &&... args)
| any_base (const any_base &a)
| ~any_base ()=default

## 详细描述

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

## 构造及析构函数说明

## ◆ any_base() [1/4]

ystdex::details::any_base::any_base | ( |  | ) |

inlineprotected

自从
  build 848

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

## ◆ any_base() [2/4]

ystdex::details::any_base::any_base | ( | default_init_t |  | ) |

inlineexplicitprotected

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

## ◆ any_base() [3/4]

template<class _tHandler , typename... _tParams>

ystdex::details::any_base::any_base | ( | any_ops::with_handler_t< _tHandler > | ,
|  | _tParams &&... | args
| ) |  |

inlineexplicitprotected

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

## ◆ any_base() [4/4]

ystdex::details::any_base::any_base | ( | const any_base & | a | ) |

inlineprotected

自从
  build 714

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

## ◆ ~any_base()

ystdex::details::any_base::~any_base | ( |  | ) |

protecteddefault

自从
  build 714

## 成员函数说明

## ◆ call()

any_ops::any_storage& ystdex::details::any_base::call | ( | any_ops::any_storage & | t,
|  | any_ops::op_code | op
| ) |  | const

inline

前置条件
  断言：`manager` 。

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

引用了 yconstraint.

被这些函数引用 ystdex::any_input_iterator< _type, ptrdiff_t, _type *, _type & >::operator*(), ystdex::any_input_iterator< _type, ptrdiff_t, _type *, _type & >::operator++() , 以及 ystdex::any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference >::operator--().

这是这个函数的调用关系图:

## ◆ checked_destroy()

void ystdex::details::any_base::checked_destroy | ( |  | ) |

inline

自从
  build 848

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

引用了 ystdex::any_ops::destroy.

## ◆ destroy()

void ystdex::details::any_base::destroy | ( |  | ) |

inline

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

引用了 ystdex::any_ops::destroy , 以及 yconstraint.

## ◆ get()

void* ystdex::details::any_base::get | ( |  | ) | const

inline

前置条件
  间接断言：`manager` 。

自从
  build 853

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

引用了 ystdex::default_init, ystdex::any_ops::get_ptr, platform::p , 以及 yassume.

## ◆ get_holder()

any_ops::holder* ystdex::details::any_base::get_holder | ( |  | ) | const

inline

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

引用了 ystdex::default_init , 以及 ystdex::any_ops::get_holder_ptr.

## ◆ get_object_ptr() [1/2]

template<typename _type >

_type* ystdex::details::any_base::get_object_ptr | ( |  | ) |

inline

前置条件
  间接断言：`manager` 。

异常

  异常中立：由持有者抛出。 |

自从
  build 854

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

引用了 NPL::get.

## ◆ get_object_ptr() [2/2]

template<typename _type >

const _type* ystdex::details::any_base::get_object_ptr | ( |  | ) | const

inline

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

引用了 NPL::get.

## ◆ get_storage()

any_ops::any_storage& ystdex::details::any_base::get_storage | ( |  | ) | const

inline

自从
  build 692

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

被这些函数引用 ystdex::any_input_iterator< _type, ptrdiff_t, _type *, _type & >::operator++() , 以及 ystdex::any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference >::operator--().

这是这个函数的调用关系图:

## ◆ has_value()

bool ystdex::details::any_base::has_value | ( |  | ) | const

inline

自从
  build 717

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

## ◆ move_from()

void ystdex::details::any_base::move_from | ( | any_base & | a | ) |

inline

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

引用了 YSLib::a , 以及 yunseq.

## ◆ swap()

void ystdex::details::any_base::swap | ( | any_base & | a | ) |

inline

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

引用了 YSLib::a , 以及 ystdex::cpp2017::swap().

函数调用图:

## ◆ try_get()

void* ystdex::details::any_base::try_get | ( |  | ) | const

inline

取类型中立的对象指针。

返回
  当持有者抛出异常时返回为空指针，否则为对象指针。

参见
  get

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

引用了 NPL::get.

## ◆ try_get_object_ptr() [1/2]

template<typename _type >

_type* ystdex::details::any_base::try_get_object_ptr | ( |  | ) |

inline

前置条件
  间接断言：`manager` 。

自从
  build 854

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

## ◆ try_get_object_ptr() [2/2]

template<typename _type >

const _type* ystdex::details::any_base::try_get_object_ptr | ( |  | ) | const

inline

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

## ◆ type()

const type_info& ystdex::details::any_base::type | ( |  | ) | const

inline

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

引用了 ystdex::default_init , 以及 ystdex::any_ops::get_type.

## ◆ unchecked_access() [1/3]

template<typename _type >

_type ystdex::details::any_base::unchecked_access | ( | any_ops::any_storage & | t,
|  | any_ops::op_code | op
| ) |  | const

inline

自从
  build 686

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

## ◆ unchecked_access() [2/3]

template<typename _type , typename... _tParams>

_type ystdex::details::any_base::unchecked_access | ( | any_ops::op_code | op,
|  | _tParams &&... | args
| ) |  | const

inline

自从
  build 717

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

引用了 CHRLib::args, ystdex::standard_layout_storage< _tUnderlying >::pun() , 以及 yforward.

函数调用图:

## ◆ unchecked_access() [3/3]

template<typename _type >

_type ystdex::details::any_base::unchecked_access | ( | default_init_t | ,
|  | any_ops::op_code | op
| ) |  | const

inline

自从
  build 717

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

引用了 ystdex::standard_layout_storage< _tUnderlying >::pun_default().

函数调用图:

## 类成员变量说明

## ◆ manager

any_ops::any_manager ystdex::details::any_base::manager

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

## ◆ storage

any_ops::any_storage ystdex::details::any_base::storage

mutable

自从
  build 692

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

该结构体的文档由以下文件生成:

- any.h