YSTest: ystdex::any_ops::holder_handler< _tHolder > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | 静态 Public 成员函数 | 静态 Private 成员函数 | 所有成员列表
ystdex::any_ops::holder_handler< _tHolder > 模板类 参考

动态泛型对象持有者处理器。 更多...

`#include <any.h>`

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

## Public 类型

using | holder_type = _tHolder
using | base = value_handler< holder_type >

## 静态 Public 成员函数

static holder_type * | get_holder_pointer (any_storage &s)
static auto | init (any_storage &d, std::unique_ptr< holder_type > p) -> decltype(init(typename base::local_storage(), d, std::move(p)), void())
static void | manage (any_storage &d, any_storage &s, op_code op)
template<typename... _tParams>
static enable_if_t< is_constructible< value_type, _tParams... >::value > | init (any_storage &d, _tParams &&... args)

## 静态 Private 成员函数

static void | init (false_, any_storage &d, std::unique_ptr< holder_type > p)
static void | init (true_, any_storage &d, std::unique_ptr< holder_type > p)
静态 Private 成员函数 继承自 ystdex::any_ops::value_handler< _tHolder >
static void | copy (any_storage &d, const any_storage &s)
static void | dispose (any_storage &d)
static value_type * | get_pointer (any_storage &s)
static const value_type * | get_pointer (const any_storage &s)
static value_type & | get_reference (any_storage &s)
static const value_type & | get_reference (const any_storage &s)
static enable_if_t< is_constructible< value_type, _tParams... >::value > | init (any_storage &d, _tParams &&... args)
static void | manage (any_storage &d, any_storage &s, op_code op)

## 额外继承的成员函数

Private 类型 继承自 ystdex::any_ops::value_handler< _tHolder >
using | value_type = _tHolder
using | local_storage = bool_< is_in_place_storable< _tHolder >::value >

## 详细描述

### template<typename _tHolder>
class ystdex::any_ops::holder_handler< _tHolder >

动态泛型对象持有者处理器。

参见
  value_handler

自从
  build 352

可定制分配行为的处理器。

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

## 成员类型定义说明

## ◆ base

template<typename _tHolder >

using ystdex::any_ops::holder_handler< _tHolder >::base = value_handler<holder_type>

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

## ◆ holder_type

template<typename _tHolder >

using ystdex::any_ops::holder_handler< _tHolder >::holder_type = _tHolder

自从
  build 848

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

## 成员函数说明

## ◆ get_holder_pointer()

template<typename _tHolder >

static holder_type* ystdex::any_ops::holder_handler< _tHolder >::get_holder_pointer | ( | any_storage & | s | ) |

inlinestatic

自从
  build 848

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

引用了 CHRLib::s.

## ◆ init() [1/4]

template<typename _tHolder >
template<typename... _tParams>

static enable_if_t<is_constructible<value_type, _tParams...>::value> ystdex::any_ops::value_handler< _type, _bStoredLocally >::init | ( | typename... | _tParams | ) |

inlinestatic

自从
  build 678

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

## ◆ init() [2/4]

template<typename _tHolder >

static auto ystdex::any_ops::holder_handler< _tHolder >::init | ( | any_storage & | d,
|  | std::unique_ptr< holder_type > | p
| ) |  | -> decltype( init(typename base::local_storage(), d, std::move(p)), void())

inlinestatic

自从
  build 851

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

引用了 CHRLib::d , 以及 platform::p.

## ◆ init() [3/4]

template<typename _tHolder >

static void ystdex::any_ops::holder_handler< _tHolder >::init | ( | false_ | ,
|  | any_storage & | d,
|  | std::unique_ptr< holder_type > | p
| ) |  |

inlinestaticprivate

自从
  build 729

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

引用了 CHRLib::d , 以及 platform::p.

## ◆ init() [4/4]

template<typename _tHolder >

static void ystdex::any_ops::holder_handler< _tHolder >::init | ( | true_ | ,
|  | any_storage & | d,
|  | std::unique_ptr< holder_type > | p
| ) |  |

inlinestaticprivate

自从
  build 729

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

引用了 CHRLib::d , 以及 platform::p.

## ◆ manage()

template<typename _tHolder >

static void ystdex::any_ops::holder_handler< _tHolder >::manage | ( | any_storage & | d,
|  | any_storage & | s,
|  | op_code | op
| ) |  |

inlinestatic

自从
  build 692

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

引用了 CHRLib::d, NPL::get, ystdex::any_ops::get_holder_ptr, ystdex::any_ops::get_holder_type, ystdex::any_ops::get_ptr, ystdex::any_ops::get_type, ystdex::pvoid() , 以及 CHRLib::s.

函数调用图:

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

- any.h