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_exceptionset_exception_at_thread_exitset_valueset_value_at_thread_exit 为具有 promise_already_satisfied错误代码。的同一个关联的异步模式的 promise 对象已被调用,此方法将引发 future_error

此方法,在关联的异步状态块的所有线程已取消阻止。

第一个方法还引发引发的所有异常,则 Val 复制到关联的异步模式时。 在这种情况下,该关联的异步状态未设置准备。

第二个方法还引发引发的所有异常,则 Val 移至该关联的异步模式时。 在这种情况下,该关联的异步状态未设置准备。

对于部分专用化 promise<Ty&>,存储的值实际上是对 Val。

对专用化 promise<void>,存储的值不存在。

要求

**标头:**将来

**命名空间:**std

请参见

参考

promise Class

<future>