std::experimental::scope_success<EF>::~scope_success
From cppreference.com
< cpp | experimental | scope success
| ~scope_success() noexcept(noexcept(std::declval<EF&>()())); |
(ライブラリ基本TS v3) | |
終了関数を呼び出します。ただし、std::uncaught_exceptions() の結果が例外のカウントより小さいか等しく(通常は正常終了時)、かつ `scope_success` がアクティブな場合に限ります。その後、格納されている `EF`(関数オブジェクトの場合)およびその他の非静的データメンバーを破棄します。
例外
終了関数の呼び出しによってスローされた例外をスローします。
注釈
スタックの巻き戻し時にデストラクタが呼び出されるかどうかは、`scope_success` 内の `std::uncaught_exceptions() の結果と例外のカウントとの比較によって検出できます。
C++標準ライブラリおよびその他のC++ TR/TSにおける他のクラスまたはクラステンプレート特殊化とは異なり、`scope_success` のデストラクタは例外をスローすることが許可されています。
[編集] 関連項目
scope_success を非アクティブにします(公開メンバ関数) |