std::promise<R>:: set_exception_at_thread_exit
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| Setting the result | ||||
|
promise::set_exception_at_thread_exit
|
||||
| Non-member Functions | ||||
| Helper Classes | ||||
|
void
set_exception_at_thread_exit
(
std::
exception_ptr
p
)
;
|
(C++11以降) | |
例外ポインタ p を共有状態に格納しますが、状態を即座にready状態にはしません。状態は、スレッドローカルストレージ期間を持つすべての変数が破棄された後、現在のスレッドが終了する時にready状態になります。
この操作は、promiseオブジェクトの更新中に、
set_value
、
set_exception
、
set_value_at_thread_exit
および
set_exception_at_thread_exit
がpromiseオブジェクトに関連付けられた単一のmutexを獲得するかのように振る舞います。
共有状態が存在しない場合、または共有状態が既に値または例外を格納している場合、例外がスローされます。
この関数の呼び出しは、 get_future の呼び出しとの間でデータ競合を引き起こしません (したがって、これらは互いに同期を取る必要はありません)。
目次 |
パラメータ
| p | - | 格納する例外ポインタ。 p が nullptr の場合、動作は未定義 |
戻り値
(なし)
例外
std::future_error が以下の条件で発生します:
- * this は共有状態を持ちません。エラーコードは no_state に設定されています。
- 共有状態は既に値または例外を格納しています。エラーコードは promise_already_satisfied に設定されています。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
例外を示すように結果を設定する
(公開メンバ関数) |