YSTest: ystdex::state_guard< _type, void, _tToken > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | Private 类型 | 所有成员列表
ystdex::state_guard< _type, void, _tToken > 模板类 参考

`#include <scope_guard.hpp>`

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

## Public 类型

using | condition_type = void
using | value_type = _type
using | token_type = _tToken

## Public 成员函数

template<typename... _tParams>
| state_guard (token_type t, _tParams &&... args)
| ~state_guard ()

## Public 属性

token_type | token
_type | value

## Private 类型

using | base = details::state_guard_impl< _type, _tToken >
Private 类型 继承自 ystdex::details::state_guard_impl< _type, _tToken >
using | base = tagged_value< _tToken, _type >
using | token_type = _tToken
using | value_type = _type
Private 类型 继承自 ystdex::tagged_value< _tToken, _type >
using | token_type = _tToken
using | value_type = _type

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::details::state_guard_impl< _type, _tToken >
| state_guard_impl (token_type t)
template<typename... _tParams>
void | construct_and_save (_tParams &&... args)
void | save ()
void | restore ()
void | restore_and_destroy ()
void | destroy ()
Private 成员函数 继承自 ystdex::tagged_value< _tToken, _type >
| 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 ()
Private 属性 继承自 ystdex::details::state_guard_impl< _type, _tToken >
token_type | token
_type | value
Private 属性 继承自 ystdex::tagged_value< _tToken, _type >
token_type | token
union {
empty_base empty
_type value
}; |

## 详细描述

### template<typename _type, typename _tToken>
class ystdex::state_guard< _type, void, _tToken >

在文件 scope_guard.hpp 第 333 行定义.

## 成员类型定义说明

## ◆ base

template<typename _type , typename _tToken >

using ystdex::state_guard< _type, void, _tToken >::base = details::state_guard_impl<_type, _tToken>

private

在文件 scope_guard.hpp 第 337 行定义.

## ◆ condition_type

template<typename _type , typename _tToken >

using ystdex::state_guard< _type, void, _tToken >::condition_type = void

在文件 scope_guard.hpp 第 342 行定义.

## ◆ token_type

template<typename _type , typename _tToken >

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

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

## ◆ value_type

template<typename _type , typename _tToken >

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

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

## 构造及析构函数说明

## ◆ state_guard()

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

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

inline

在文件 scope_guard.hpp 第 348 行定义.

引用了 CHRLib::args, ystdex::details::state_guard_impl< _type, _tToken >::construct_and_save() , 以及 yforward.

函数调用图:

## ◆ ~state_guard()

template<typename _type , typename _tToken >

ystdex::state_guard< _type, void, _tToken >::~state_guard | ( |  | ) |

inline

自从
  build 586

在文件 scope_guard.hpp 第 356 行定义.

引用了 ystdex::details::state_guard_impl< _type, _tToken >::restore_and_destroy().

函数调用图:

## 类成员变量说明

## ◆ token

template<typename _type , typename _tToken >

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

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

## ◆ value

template<typename _type , typename _tToken >

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

mutable

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

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

- scope_guard.hpp