YSTest: ystdex::details::any_emplace< _tAny > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Private 成员函数 | 所有成员列表
ystdex::details::any_emplace< _tAny > 模板结构体 参考

`#include <any.h>`

类 ystdex::details::any_emplace< _tAny > 继承关系图:
[图例]

## Public 类型

template<bool _vInPlace = false>
using | alloc_tag = details::alloc_tag< _vInPlace >
template<typename _type >
using | opt_in_place_t = details::any_in_place_t< _type >

## Public 成员函数

template<typename _type , typename... _tParams, typename = exclude_tagged_params_t<_tParams...>>
decay_t< _type > & | emplace (_tParams &&... args)
template<typename _type , class _tAlloc , typename... _tParams>
decay_t< _type > & | emplace (std::allocator_arg_t, const _tAlloc &a, _tParams &&... args)
template<typename _type , typename _tOther , typename... _tParams>
decay_t< _type > & | emplace (std::initializer_list< _tOther > il, _tParams &&... args)
template<typename _type , class _tAlloc , typename _tOther , typename... _tParams>
decay_t< _type > & | emplace (std::allocator_arg_t, const _tAlloc &a, std::initializer_list< _tOther > il, _tParams &&... args)
template<typename _tHolder , typename... _tParams>
decay_t< _tHolder > & | emplace (any_ops::use_holder_t, _tParams &&... args)
template<typename _tHolder , class _tAlloc , typename... _tParams>
decay_t< _tHolder > & | emplace (std::allocator_arg_t, const _tAlloc &a, any_ops::use_holder_t, _tParams &&... args)
template<typename _tHandler , typename... _tParams>
void | emplace_with_handler (_tParams &&... args)
template<class _tHolder >
decay_t< _tHolder > & | unchecked_holder_ref ()
template<typename _type >
decay_t< _type > & | unchecked_target_ref ()

## Private 成员函数

template<typename _type , class _tAlloc , typename... _tParams>
decay_t< _type > & | emplace_with_tag (alloc_tag< true >, const _tAlloc &, _tParams &&... args)
template<typename _type , class _tAlloc , typename... _tParams>
decay_t< _type > & | emplace_with_tag (alloc_tag<>, const _tAlloc &a, _tParams &&... args)
template<typename _type , class _tAlloc , typename _tOther , typename... _tParams>
decay_t< _type > & | emplace_with_tag (alloc_tag<>, const _tAlloc &a, std::initializer_list< _tOther > il, _tParams &&... args)
template<typename _tHolder , class _tAlloc , typename... _tParams>
decay_t< _tHolder > & | emplace_with_tag (alloc_tag<>, const _tAlloc &a, any_ops::use_holder_t, _tParams &&... args)
template<typename _type , typename... _tParams>
decay_t< _type > & | emplace_within (_tParams &&... args)
template<typename _type , typename _tOther , typename... _tParams>
decay_t< _type > & | emplace_within (std::initializer_list< _tOther > il, _tParams &&... args)
template<typename _tHolder , typename... _tParams>
decay_t< _tHolder > & | emplace_within (any_ops::use_holder_t, _tParams &&... args)

## 详细描述

### template<class _tAny>
struct ystdex::details::any_emplace< _tAny >

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

## 成员类型定义说明

## ◆ alloc_tag

template<class _tAny >
template<bool _vInPlace = false>

using ystdex::details::any_emplace< _tAny >::alloc_tag = details::alloc_tag<_vInPlace>

自从
  build 864

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

## ◆ opt_in_place_t

template<class _tAny >
template<typename _type >

using ystdex::details::any_emplace< _tAny >::opt_in_place_t = details::any_in_place_t<_type>

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

## 成员函数说明

## ◆ emplace() [1/3]

template<class _tAny >
template<typename _type , typename... _tParams, typename = exclude_tagged_params_t<_tParams...>>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace | ( | _tParams &&... | args | ) |

inline

异常

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

参见
  LWG 2857 。

自从
  build 848

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

被这些函数引用 YSLib::ValueObject::emplace().

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

## ◆ emplace() [2/3]

template<class _tAny >
template<typename _tHolder , class _tAlloc , typename... _tParams>

decay_t<_tHolder>& ystdex::details::any_emplace< _tAny >::emplace | ( | std::allocator_arg_t | ,
|  | const _tAlloc & | a,
|  | any_ops::use_holder_t | ,
|  | _tParams &&... | args
| ) |  |

inline

自从
  build 864

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

## ◆ emplace() [3/3]

template<class _tAny >
template<typename _type , typename _tOther , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace | ( | std::initializer_list< _tOther > | il,
|  | _tParams &&... | args
| ) |  |

inline

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

## ◆ emplace_with_handler()

template<class _tAny >
template<typename _tHandler , typename... _tParams>

void ystdex::details::any_emplace< _tAny >::emplace_with_handler | ( | _tParams &&... | args | ) |

inline

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

## ◆ emplace_with_tag() [1/4]

template<class _tAny >
template<typename _type , class _tAlloc , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace_with_tag | ( | alloc_tag< true > | ,
|  | const _tAlloc & | ,
|  | _tParams &&... | args
| ) |  |

inlineprivate

自从
  build 864

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

## ◆ emplace_with_tag() [2/4]

template<class _tAny >
template<typename _type , class _tAlloc , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace_with_tag | ( | alloc_tag<> | ,
|  | const _tAlloc & | a,
|  | _tParams &&... | args
| ) |  |

inlineprivate

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

## ◆ emplace_with_tag() [3/4]

template<class _tAny >
template<typename _tHolder , class _tAlloc , typename... _tParams>

decay_t<_tHolder>& ystdex::details::any_emplace< _tAny >::emplace_with_tag | ( | alloc_tag<> | ,
|  | const _tAlloc & | a,
|  | any_ops::use_holder_t | ,
|  | _tParams &&... | args
| ) |  |

inlineprivate

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

## ◆ emplace_with_tag() [4/4]

template<class _tAny >
template<typename _type , class _tAlloc , typename _tOther , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace_with_tag | ( | alloc_tag<> | ,
|  | const _tAlloc & | a,
|  | std::initializer_list< _tOther > | il,
|  | _tParams &&... | args
| ) |  |

inlineprivate

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

## ◆ emplace_within() [1/3]

template<class _tAny >
template<typename _type , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace_within | ( | _tParams &&... | args | ) |

inlineprivate

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

## ◆ emplace_within() [2/3]

template<class _tAny >
template<typename _tHolder , typename... _tParams>

decay_t<_tHolder>& ystdex::details::any_emplace< _tAny >::emplace_within | ( | any_ops::use_holder_t | ,
|  | _tParams &&... | args
| ) |  |

inlineprivate

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

## ◆ emplace_within() [3/3]

template<class _tAny >
template<typename _type , typename _tOther , typename... _tParams>

decay_t<_type>& ystdex::details::any_emplace< _tAny >::emplace_within | ( | std::initializer_list< _tOther > | il,
|  | _tParams &&... | args
| ) |  |

inlineprivate

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

## ◆ unchecked_holder_ref()

template<class _tAny >
template<class _tHolder >

decay_t<_tHolder>& ystdex::details::any_emplace< _tAny >::unchecked_holder_ref | ( |  | ) |

inline

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

## ◆ unchecked_target_ref()

template<class _tAny >
template<typename _type >

decay_t<_type>& ystdex::details::any_emplace< _tAny >::unchecked_target_ref | ( |  | ) |

inline

自从
  build 854

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

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

- any.h