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 複製到這個關聯的非同步狀態時。 在這種情況下,將相關的非同步狀態未設定準備。
第二個方法也會擲回擲回的所有例外狀況,會將這個 Val 相關聯的非同步狀態時。 在這種情況下,將相關的非同步狀態未設定準備。
對於部分特製化 promise<Ty&>,儲存值實際上是對 Val的參考。
對於特製化 promise<void>,儲存值不存在。
需求
標題: 未來
命名空間: 可以