std::experimental::scope_success<EF>:: ~scope_success
|
~scope_success
(
)
noexcept
(
noexcept
(
std::
declval
<
EF
&
>
(
)
(
)
)
)
;
|
(ライブラリファンダメンタルTS v3) | |
std::
uncaught_exceptions
(
)
の結果が未捕捉例外カウンタ(通常は正常終了時)以下であり、かつ
scope_success
がアクティブな場合、exit関数を呼び出し、その後保存された
EF
(関数オブジェクトの場合)およびその他の非静的データメンバを破棄します。
例外
exit関数の呼び出しによって発生するあらゆる例外をスローします。
注記
デストラクタがスタックアンワインディング時に呼び出されるかどうかは、
std::
uncaught_exceptions
(
)
の結果と
scope_success
内の未捕捉例外カウンタの比較によって検出できます。
C++標準ライブラリおよび他のC++ TR/TSにある他のクラスやクラステンプレートの特殊化とは異なり、
scope_success
のデストラクタは例外をスローすることが許可されています。
関連項目
scope_success
を非アクティブにする
(公開メンバ関数) |