YSTest: ystdex::any_ops::value_handler< _type, _bStoredLocally > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

动态泛型对象值处理器。 更多...

`#include <any.h>`

类 ystdex::any_ops::value_handler< _type, _bStoredLocally > 继承关系图:
[图例]

## Public 类型

using | value_type = _type
using | local_storage = bool_< _bStoredLocally >

## 静态 Public 成员函数

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)
template<typename... _tParams>
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 类型

using | memory_thunk = details::memory_thunk< value_type >
using | stored_type = cond_t< local_storage, value_type, memory_thunk >

## 静态 Private 成员函数

template<typename... _tParams>
static void | init_or_throw (false_, _tParams &&...)
template<typename... _tParams>
static void | init_or_throw (true_, any_storage &d, _tParams &&... args)

## 详细描述

### template<typename _type, bool _bStoredLocally = is_in_place_storable<_type>::value>
class ystdex::any_ops::value_handler< _type, _bStoredLocally >

动态泛型对象值处理器。

参见
  any_storage

自从
  build 671

可选使用局部存储策略动态管理泛型对象的处理器。 局部存储使用第二模板参数指定。 使用 any_storage 提供对象存储： 当使用局部存储时，作为原地存储；否则，存储 new/delete 管理的指针。 作为基础存储策略的实现，不提供分配器或其它高级分配接口。

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

## 成员类型定义说明

## ◆ local_storage

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

using ystdex::any_ops::value_handler< _type, _bStoredLocally >::local_storage = bool_<_bStoredLocally>

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

## ◆ memory_thunk

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

using ystdex::any_ops::value_handler< _type, _bStoredLocally >::memory_thunk = details::memory_thunk<value_type>

private

自从
  build 881

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

## ◆ stored_type

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

using ystdex::any_ops::value_handler< _type, _bStoredLocally >::stored_type = cond_t<local_storage, value_type, memory_thunk>

private

自从
  build 848
  build 848

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

## ◆ value_type

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

using ystdex::any_ops::value_handler< _type, _bStoredLocally >::value_type = _type

自从
  build 848
  build 352

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

## 成员函数说明

## ◆ copy()

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static void ystdex::any_ops::value_handler< _type, _bStoredLocally >::copy | ( | any_storage & | d,
|  | const any_storage & | s
| ) |  |

inlinestatic

自从
  build 595

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

## ◆ dispose()

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static void ystdex::any_ops::value_handler< _type, _bStoredLocally >::dispose | ( | any_storage & | d | ) |

inlinestatic

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

## ◆ get_pointer() [1/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static value_type* ystdex::any_ops::value_handler< _type, _bStoredLocally >::get_pointer | ( | any_storage & | s | ) |

inlinestatic

自从
  build 848

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

## ◆ get_pointer() [2/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static const value_type* ystdex::any_ops::value_handler< _type, _bStoredLocally >::get_pointer | ( | const any_storage & | s | ) |

inlinestatic

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

## ◆ get_reference() [1/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static value_type& ystdex::any_ops::value_handler< _type, _bStoredLocally >::get_reference | ( | any_storage & | s | ) |

inlinestatic

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

## ◆ get_reference() [2/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static const value_type& ystdex::any_ops::value_handler< _type, _bStoredLocally >::get_reference | ( | const any_storage & | s | ) |

inlinestatic

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

## ◆ init()

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>
template<typename... _tParams>

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

inlinestatic

自从
  build 851

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

## ◆ init_or_throw() [1/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>
template<typename... _tParams>

static void ystdex::any_ops::value_handler< _type, _bStoredLocally >::init_or_throw | ( | false_ | ,
|  | _tParams && | ...
| ) |  |

inlinestaticprivate

自从
  build 848

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

## ◆ init_or_throw() [2/2]

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>
template<typename... _tParams>

static void ystdex::any_ops::value_handler< _type, _bStoredLocally >::init_or_throw | ( | true_ | ,
|  | any_storage & | d,
|  | _tParams &&... | args
| ) |  |

inlinestaticprivate

自从
  build 848

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

## ◆ manage()

template<typename _type , bool _bStoredLocally = is_in_place_storable<_type>::value>

static void ystdex::any_ops::value_handler< _type, _bStoredLocally >::manage | ( | any_storage & | d,
|  | any_storage & | s,
|  | op_code | op
| ) |  |

inlinestatic

自从
  build 692

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

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

- any.h