YSTest: ystdex::tagged_value< _tToken, _type > 模板结构体 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

Public 类型 | Public 成员函数 | Public 属性 | 所有成员列表
ystdex::tagged_value< _tToken, _type > 模板结构体 参考

带记号标记的可选值。 更多...

`#include <placement.hpp>`

类 ystdex::tagged_value< _tToken, _type > 继承关系图:
[图例]
ystdex::tagged_value< _tToken, _type > 的协作图:
[图例]

## Public 类型

using | token_type = _tToken
using | value_type = _type

## Public 成员函数

| tagged_value ()
| tagged_value (default_init_t)
| tagged_value (token_type t)
template<typename... _tParams>
| tagged_value (token_type t, in_place_t, _tParams &&...args)
| tagged_value (const tagged_value &v)
| ~tagged_value ()
| 析构：空实现。 更多...
template<typename... _tParams>
void | construct (_tParams &&...args)
void | destroy ()
void | destroy_nothrow ()

## Public 属性

token_type | token
union {
empty_base empty
_type value
}; |

## 详细描述

### template<typename _tToken, typename _type>
struct ystdex::tagged_value< _tToken, _type >

带记号标记的可选值。

警告
  非虚析构。

自从
  build 718

在文件 placement.hpp 第 523 行定义.

## 成员类型定义说明

template<typename _tToken, typename _type>

using ystdex::tagged_value< _tToken, _type >::token_type = _tToken

在文件 placement.hpp 第 525 行定义.

template<typename _tToken, typename _type>

using ystdex::tagged_value< _tToken, _type >::value_type = _type

在文件 placement.hpp 第 526 行定义.

## 构造及析构函数说明

template<typename _tToken, typename _type>

ystdex::tagged_value< _tToken, _type >::tagged_value | ( |  | ) |

inline

在文件 placement.hpp 第 536 行定义.

template<typename _tToken, typename _type>

ystdex::tagged_value< _tToken, _type >::tagged_value | ( | default_init_t |  | ) |

inline

在文件 placement.hpp 第 540 行定义.

template<typename _tToken, typename _type>

ystdex::tagged_value< _tToken, _type >::tagged_value | ( | token_type | t | ) |

inline

在文件 placement.hpp 第 542 行定义.

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

ystdex::tagged_value< _tToken, _type >::tagged_value | ( | token_type | t,
|  | in_place_t | ,
|  | _tParams &&... | args
| ) |  |

inlineexplicit

在文件 placement.hpp 第 547 行定义.

template<typename _tToken, typename _type>

ystdex::tagged_value< _tToken, _type >::tagged_value | ( | const tagged_value< _tToken, _type > & | v | ) |

inline

在文件 placement.hpp 第 550 行定义.

template<typename _tToken, typename _type>

ystdex::tagged_value< _tToken, _type >::~tagged_value | ( |  | ) |

inline

析构：空实现。

注解
  不使用默认函数以避免派生此类的非平凡析构函数非合式而被删除。

在文件 placement.hpp 第 557 行定义.

## 成员函数说明

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

void ystdex::tagged_value< _tToken, _type >::construct | ( | _tParams &&... | args | ) |

inline

在文件 placement.hpp 第 562 行定义.

参考自 ystdex::details::state_guard_impl< _type, _tToken >::construct_and_save().

这是这个函数的调用关系图:
template<typename _tToken, typename _type>

void ystdex::tagged_value< _tToken, _type >::destroy | ( |  | ) |

inline

在文件 placement.hpp 第 568 行定义.

参考自 ystdex::tagged_value< bool, _type >::destroy_nothrow(), ystdex::state_guard< _type, _tCond, _tToken >::dismiss() , 以及 ystdex::details::state_guard_impl< _type, _tToken >::restore_and_destroy().

这是这个函数的调用关系图:
template<typename _tToken, typename _type>

void ystdex::tagged_value< _tToken, _type >::destroy_nothrow | ( |  | ) |

inline

在文件 placement.hpp 第 574 行定义.

## 类成员变量说明

union { ... }

template<typename _tToken, typename _type>

empty_base ystdex::tagged_value< _tToken, _type >::empty

在文件 placement.hpp 第 531 行定义.

template<typename _tToken, typename _type>

token_type ystdex::tagged_value< _tToken, _type >::token

在文件 placement.hpp 第 528 行定义.

参考自 ystdex::details::state_guard_impl< _type, _tToken >::restore() , 以及 ystdex::details::state_guard_impl< _type, _tToken >::save().

template<typename _tToken, typename _type>

_type ystdex::tagged_value< _tToken, _type >::value

mutable

在文件 placement.hpp 第 532 行定义.

参考自 ystdex::tagged_value< bool, _type >::construct(), ystdex::tagged_value< bool, _type >::destroy(), ystdex::tagged_value< bool, _type >::destroy_nothrow(), ystdex::details::state_guard_impl< _type, _tToken >::restore() , 以及 ystdex::details::state_guard_impl< _type, _tToken >::save().

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

- placement.hpp