YSTest: scope_guard.hpp 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | 命名空间 | 类型定义 | 函数
scope_guard.hpp 文件参考
YBaseLib » YStandardExtend

作用域守卫。 更多...

`#include "utility.hpp"`
`#include "functional.hpp"`
scope_guard.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::guard< _func, _bNoThrow >
| 作用域守卫：析构时调用保存的函数对象或引用。 更多...
struct | ystdex::details::state_guard_traits< _type, _tToken, bool >
struct | ystdex::details::state_guard_traits< _type, _tToken, true >
struct | ystdex::details::state_guard_impl< _type, _tToken >
class | ystdex::state_guard< _type, _tCond, _tToken >
| 使用临时状态暂存对象的作用域守卫。 更多...
class | ystdex::state_guard< _type, void, _tToken >

## 命名空间

| ystdex
| `<memory>` 特性测试宏。
| ystdex::details

## 类型定义

template<typename _type , typename _tCond = bool, typename _tReference = _type&>
using | ystdex::swap_guard = state_guard< _type, _tCond, _tReference >
| 使用 ystdex::vswap 调用暂存对象的作用域守卫。 更多...

## 函数

template<bool _bNoThrow = true, typename _type >
guard< _type > | ystdex::make_guard (_type f)
template<typename _tState = bool, bool _bNoThrow = true, typename _func >
guard< one_shot< decay_t< _func >, void, decay_t< _tState > >, _bNoThrow > | ystdex::unique_guard (_func &&f, _tState &&s=true)
template<typename _tRes , typename _tState = bool, bool _bNoThrow = true, typename _func >
guard< one_shot< _func, _tRes, decay_t< _tState > >, _bNoThrow > | ystdex::unique_state_guard (_func &&f, _tRes r={}, _tState &&s=true)
template<typename _func , typename _type = void>
std::shared_ptr< _type > | ystdex::share_guard (_func f, _type *p={})
| 创建共享作用域守卫。 更多...
template<class _type >
auto | ystdex::dismiss (_type &gd) -> decltype(gd.dismiss())
| 解除操作。 更多...
template<typename _func , typename _tRes , typename _tState >
void | ystdex::dismiss (const one_shot< _func, _tRes, _tState > &gd)
template<typename _func , bool _bNoThrow>
auto | ystdex::dismiss (guard< _func, _bNoThrow > &gd) -> decltype(dismiss(gd.func))
| 使用 ADL dismiss 。 更多...

## 详细描述

作用域守卫。

版本
  r584

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 588

创建时间:
  2015-03-29 00:54:19 +0800

修改时间:
  2019-11-04 18:10 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::ScopeGuard

提供作用域守卫的便利接口。

在文件 scope_guard.hpp 中定义.