|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
作用域失败守卫 更多...
#include <scope.hpp>
Public 成员函数 | |
| template<typename F, enable_if_t<!is_same_v< remove_cvref_t< F >, scope_fail > &&is_constructible_v< Func, F > &&!is_nothrow_constructible_v< Func, F >, int > = 0> | |
| scope_fail (F &&func) | |
| 构造函数(异常不安全) | |
| template<typename F, enable_if_t<!is_same_v< remove_cvref_t< F >, scope_fail > &&is_constructible_v< Func, F > &&is_nothrow_constructible_v< Func, F >, int > = 0> | |
| scope_fail (F &&func) noexcept | |
| 构造函数(异常安全) | |
| scope_fail (scope_fail &&rhs) noexcept | |
| 移动构造函数 | |
| ~scope_fail () noexcept | |
| 析构函数 | |
| void | release () noexcept |
| 释放守卫 | |
作用域失败守卫
| Func | 可调用对象类型 |
仅在作用域因异常退出时执行指定的函数。 用于实现事务回滚等异常安全机制。
|
inlineexplicit |
构造函数(异常不安全)
| F | 函数对象类型 |
| func | 要执行的函数对象 |
记录当前未捕获异常数量,用于析构时判断是否因异常退出。
引用了 forward() , 以及 uncaught_exceptions().
被这些函数引用 scope_fail().
|
inlineexplicitnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |