YSTest: ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

分配器处理器。 更多...

`#include <any.h>`

类 ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue > 继承关系图:
[图例]

## 类

struct | ator_del

## Public 类型

using | value_type = _tValue
using | base = value_handler< ator_owner >
using | local_storage = typename base::local_storage

## 静态 Public 成员函数

static void | copy (any_storage &d, const any_storage &s)
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 auto | init (any_storage &d, ator_type a, _tParams &&... args) -> enable_if_t< is_constructible< value_type, _tParams &&... >::value, decltype(base::init(d, std::declval< value_type & >(), a), void())>
static void | manage (any_storage &d, any_storage &s, op_code op)

## Private 类型

using | ator_type = rebind_alloc_t< _tByteAlloc, _tValue >
using | ator_traits = allocator_traits< ator_type >
using | deleter_type = allocator_delete< ator_type >
using | ator_owner = ator_del
using | rebound_ator_type = rebind_alloc_t< ator_type, byte >

## 静态 Private 成员函数

template<typename _func >
static void | do_with_allocator (any_storage &d, any_storage &s, _func f)
template<typename... _tParams>
static void | init_or_throw (false_, _tParams &&...)
template<typename... _tParams>
static void | init_or_throw (true_, any_storage &d, const ator_type &a, const ator_owner &owned)
template<typename... _tParams>
static void | init_or_throw (true_, any_storage &d, const ator_type &a, ator_owner &&owned)

## 详细描述

### template<class _tByteAlloc, typename _tValue>
class ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >

分配器处理器。

参见
  value_handler

自从
  build 848

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

## 成员类型定义说明

## ◆ ator_owner

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::ator_owner = ator_del

private

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

## ◆ ator_traits

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::ator_traits = allocator_traits<ator_type>

private

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

## ◆ ator_type

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::ator_type = rebind_alloc_t<_tByteAlloc, _tValue>

private

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

## ◆ base

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::base = value_handler<ator_owner>

自从
  build 887

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

## ◆ deleter_type

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::deleter_type = allocator_delete<ator_type>

private

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

## ◆ local_storage

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::local_storage = typename base::local_storage

自从
  build 886

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

## ◆ rebound_ator_type

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::rebound_ator_type = rebind_alloc_t<ator_type, byte>

private

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

## ◆ value_type

template<class _tByteAlloc , typename _tValue >

using ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::value_type = _tValue

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

## 成员函数说明

## ◆ copy()

template<class _tByteAlloc , typename _tValue >

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::copy | ( | any_storage & | d,
|  | const any_storage & | s
| ) |  |

inlinestatic

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

## ◆ do_with_allocator()

template<class _tByteAlloc , typename _tValue >
template<typename _func >

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::do_with_allocator | ( | any_storage & | d,
|  | any_storage & | s,
|  | _func | f
| ) |  |

inlinestaticprivate

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

## ◆ get_pointer() [1/2]

template<class _tByteAlloc , typename _tValue >

static value_type* ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::get_pointer | ( | any_storage & | s | ) |

inlinestatic

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

## ◆ get_pointer() [2/2]

template<class _tByteAlloc , typename _tValue >

static const value_type* ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::get_pointer | ( | const any_storage & | s | ) |

inlinestatic

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

## ◆ get_reference() [1/2]

template<class _tByteAlloc , typename _tValue >

static value_type& ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::get_reference | ( | any_storage & | s | ) |

inlinestatic

自从
  bulid 887

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

## ◆ get_reference() [2/2]

template<class _tByteAlloc , typename _tValue >

static const value_type& ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::get_reference | ( | const any_storage & | s | ) |

inlinestatic

自从
  bulid 887

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

## ◆ init()

template<class _tByteAlloc , typename _tValue >
template<typename... _tParams>

static auto ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::init | ( | any_storage & | d,
|  | ator_type | a,
|  | _tParams &&... | args
| ) |  | -> enable_if_t<is_constructible<value_type, _tParams&&...>::value, decltype(base::init(d, std::declval<value_type&>(), a), void())>

inlinestatic

自从
  build 887

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

## ◆ init_or_throw() [1/3]

template<class _tByteAlloc , typename _tValue >
template<typename... _tParams>

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::init_or_throw | ( | false_ | ,
|  | _tParams && | ...
| ) |  |

inlinestaticprivate

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

## ◆ init_or_throw() [2/3]

template<class _tByteAlloc , typename _tValue >
template<typename... _tParams>

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::init_or_throw | ( | true_ | ,
|  | any_storage & | d,
|  | const ator_type & | a,
|  | ator_owner && | owned
| ) |  |

inlinestaticprivate

自从
  build 887

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

## ◆ init_or_throw() [3/3]

template<class _tByteAlloc , typename _tValue >
template<typename... _tParams>

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::init_or_throw | ( | true_ | ,
|  | any_storage & | d,
|  | const ator_type & | a,
|  | const ator_owner & | owned
| ) |  |

inlinestaticprivate

自从
  build 887

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

## ◆ manage()

template<class _tByteAlloc , typename _tValue >

static void ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tValue >::manage | ( | any_storage & | d,
|  | any_storage & | s,
|  | op_code | op
| ) |  |

inlinestatic

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

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

- any.h