YSTest: YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | Public 类型 | 静态 Public 成员函数 | 静态 Private 成员函数 | 所有成员列表
YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc > 模板结构体 参考

带有分配器的持有者操作。 更多...

`#include <YObject.h>`

## 类

struct | CreateInPlaceFunctor

## Public 类型

using | Creation = IValueHolder::Creation

## 静态 Public 成员函数

template<typename _tValue , typename... _tParams>
static YB_ATTR_nodiscard any | Create (Creation c, const any &x, _tValue &val, _tParams &&... args)
template<typename _tValue , typename... _tParams>
YB_ATTR_nodiscard static YB_PURE any | CreateDispatched (Creation c, const any &x, ystdex::false_, _tValue &val, _tParams &&... args)
template<typename _tValue , typename... _tParams>
YB_ATTR_nodiscard static YB_PURE any | CreateDispatched (Creation c, const any &, ystdex::true_, _tValue &val, _tParams &&...)
template<typename _tValue , class _tCopyParams , class _tMoveParams >
YB_ATTR_nodiscard static YB_PURE any | CreateHolder (Creation c, const any &x, _tValue &val, _tCopyParams &&args_copy, _tMoveParams &&args_move)

## 静态 Private 成员函数

YB_ATTR_nodiscard static YB_PURE const _tByteAlloc & | GetByteAllocatorOf (const any &x) ynothrowv

## 详细描述

### template<class _tHolder, class _tByteAlloc>
struct YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >

带有分配器的持有者操作。

自从
  build 891

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

## 成员类型定义说明

## ◆ Creation

template<class _tHolder , class _tByteAlloc >

using YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::Creation = IValueHolder::Creation

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

## 成员函数说明

## ◆ Create()

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

static YB_ATTR_nodiscard any YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::Create | ( | Creation | c,
|  | const any & | x,
|  | _tValue & | val,
|  | _tParams &&... | args
| ) |  |

inlinestatic

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

引用了 YSLib::args, CHRLib::c, YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateDispatched(), x , 以及 yforward.

被这些函数引用 YSLib::AllocatorHolder< _tTarget, _tByteAlloc >::ImplI().

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

## ◆ CreateDispatched() [1/2]

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

YB_ATTR_nodiscard static YB_PURE any YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateDispatched | ( | Creation | c,
|  | const any & | ,
|  | ystdex::true_ | ,
|  | _tValue & | val,
|  | _tParams && | ...
| ) |  |

inlinestatic

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

引用了 CHRLib::c.

## ◆ CreateDispatched() [2/2]

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

YB_ATTR_nodiscard static YB_PURE any YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateDispatched | ( | Creation | c,
|  | const any & | x,
|  | ystdex::false_ | ,
|  | _tValue & | val,
|  | _tParams &&... | args
| ) |  |

inlinestatic

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

引用了 YSLib::args, CHRLib::c, YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateHolder(), x , 以及 yforward.

被这些函数引用 YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::Create().

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

## ◆ CreateHolder()

template<class _tHolder , class _tByteAlloc >
template<typename _tValue , class _tCopyParams , class _tMoveParams >

YB_ATTR_nodiscard static YB_PURE any YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateHolder | ( | Creation | c,
|  | const any & | x,
|  | _tValue & | val,
|  | _tCopyParams && | args_copy,
|  | _tMoveParams && | args_move
| ) |  |

inlinestatic

前置条件
  断言：第二参数具有非空值。
  断言：第二参数具有和模板参数绑定的字节分配器类型相同。

自从
  build 899

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

引用了 ystdex::cpp2017::apply(), CHRLib::c, YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::GetByteAllocatorOf(), YSLib::UI::Move, x , 以及 yforward.

被这些函数引用 YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateDispatched().

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

## ◆ GetByteAllocatorOf()

template<class _tHolder , class _tByteAlloc >

YB_ATTR_nodiscard static YB_PURE const _tByteAlloc& YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::GetByteAllocatorOf | ( | const any & | x | ) |

inlinestaticprivate

自从
  build 899

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

引用了 ystdex::default_init, platform::Deref(), ystdex::any_ops::get_allocator_ptr, ystdex::any_ops::get_allocator_type, x , 以及 YSLib::YAssert().

被这些函数引用 YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateHolder().

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

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

- YObject.h