promise::set_value のメソッド
アトミックに値を promise のオブジェクトの結果格納し、完了する関連 の非同期状態を 設定します。
void promise::set_value(const Ty& Val);
void promise::set_value(Ty&& Val);
void promise<Ty&>::set_value(Ty& Val);
void promise<void>::set_value();
パラメーター
- Val
結果として格納する値。
解説
promise のオブジェクトに no_stateのエラー コードがある関連の非同期状態がない場合、このメソッドは future_error。
set_exception、set_exception_at_thread_exit、set_value、または set_value_at_thread_exit が promise_already_satisfiedのエラー コードと同じ関連する非同期の状態がの promise のオブジェクトに対して既にあった場合、このメソッドは future_error。
このメソッドの結果として、関連する非同期ブロック状態でどのスレッドでもブロックを除外されます。
最初のメソッドは、Val が関連する非同期状態にコピーすると例外がスローされます。この場合、関連する非同期状態は、準備完了に設定されていません。
2 番目のメソッドは、Val が関連する非同期状態に移動すると例外がスローされます。この場合、関連する非同期状態は、準備完了に設定されていません。
部分的特殊化 promise<Ty&>のは、格納されている値は、仮想 Valへの参照です。
特化 promise<void>の場合、この値はありません。
必要条件
将来のヘッダー:
名前空間: std