YSTest: ystdex::mapped_set_traits< _type > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

静态 Public 成员函数 | 所有成员列表
ystdex::mapped_set_traits< _type > 模板结构体 参考
Customization | Traits

映射值集合特征。 更多...

`#include <set.hpp>`

## 静态 Public 成员函数

template<typename _tKey , class _tCon >
static _tKey && | extend_key (_tKey &&k, _tCon &&)
| 从参数指定的透明比较的键转换为用于插入容器值的键的值。 更多...
static auto | get_value_key () -> decltype(_type())
| 从可选的参数中取键的值。 更多...
template<typename _tKey , typename... _tParams>
static const _tKey & | get_value_key (const _tKey &x, _tParams &&...)
template<typename _tParam >
static void | restore_key (_type &, _tParam &&)
| 恢复元素的键。 更多...
template<typename _tParam >
static const _tParam & | set_value_move (const _tParam &x)
| 转移集合元素。 更多...

## 详细描述

### template<typename _type>
struct ystdex::mapped_set_traits< _type >

映射值集合特征。

自从
  build 844

集合类型底层使用 map 容器，并在修改容器时同时修改键但始终保持键的等价关系。 为有效使用这些操作而不受 const 键的限制，使用特征扩展部分操作。 用于 emplace 和 emplace_hint 的合式要求和作用包括： `get_value_key<key_type>(yforward(args)...)` 合式， 其结果作为用于插入的键，是新创建的值或已有值的引用 `k` 。 若需以键 `k` 插入值， `extend_key(yforward(k), *this)` 合式。 对 key_type 类型的 get_value_key 实现应支持任意能被 emplace 和 emplace_hint 的参数组合，并返回适当的蕴含 key_type 比较的类型。 用于 `insert` 的 ADL 的合式要求和作用包括： 对被插入的元素 `v` ， `set_value_move(v)` 合式， 以保持键等价关系的方式转移资源。

在文件 set.hpp 第 166 行定义.

## 成员函数说明

## ◆ extend_key()

template<typename _type >
template<typename _tKey , class _tCon >

static _tKey&& ystdex::mapped_set_traits< _type >::extend_key | ( | _tKey && | k,
|  | _tCon && |
| ) |  |

inlinestatic

从参数指定的透明比较的键转换为用于插入容器值的键的值。

注解
  覆盖实现可直接返回右值。

返回
  键的引用。

在文件 set.hpp 第 176 行定义.

引用了 yforward.

## ◆ get_value_key() [1/2]

template<typename _type >

static auto ystdex::mapped_set_traits< _type >::get_value_key | ( |  | ) | -> decltype(_type())

inlinestatic

从可选的参数中取键的值。

在文件 set.hpp 第 184 行定义.

## ◆ get_value_key() [2/2]

template<typename _type >
template<typename _tKey , typename... _tParams>

static const _tKey& ystdex::mapped_set_traits< _type >::get_value_key | ( | const _tKey & | x,
|  | _tParams && | ...
| ) |  |

inlinestatic

在文件 set.hpp 第 190 行定义.

引用了 x.

## ◆ restore_key()

template<typename _type >
template<typename _tParam >

static void ystdex::mapped_set_traits< _type >::restore_key | ( | _type & | ,
|  | _tParam && |
| ) |  |

inlinestatic

恢复元素的键。

自从
  build 845

在文件 set.hpp 第 203 行定义.

## ◆ set_value_move()

template<typename _type >
template<typename _tParam >

static const _tParam& ystdex::mapped_set_traits< _type >::set_value_move | ( | const _tParam & | x | ) |

inlinestatic

转移集合元素。

后置条件
  转移后元素和参数比较相等。

在文件 set.hpp 第 212 行定义.

引用了 x.

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

- set.hpp