Partilhar via


Método Promise::set_value_at_thread_exit

Armazena atomic como resultado um valor de objeto de promise .

void promise::set_value_at_thread_exit(const Ty& Val);
void promise::set_value_at_thread_exit(Ty&& Val);
void promise<Ty&>::set_value_at_thread_exit(Ty& Val);
void promise<void>::set_value_at_thread_exit();

Parâmetros

  • Val
    O valor a ser armazenado como o resultado.

Comentários

Se o objeto de promessa não tem estado assíncrono associado, gera esse método future_error que tem um código de erro de no_state.

Se set_exception, set_exception_at_thread_exit, set_value, ou set_value_at_thread_exit já tiverem sido chamados para um objeto de promise que tem o mesmo estado assíncrono associado, gera esse método future_error que tem um código de erro de promise_already_satisfied.

Em contraste com set_value, o estado assíncrono associada não está definido para aprontar-se até que os objetos de com local no segmento atual serão destruídos completos.Normalmente, os segmentos que estão bloqueados no estado assíncrono associado não são desbloqueados até que o segmento atual sair.

O primeiro método também gera qualquer exceção que é lançada quando Val é copiado para o estado assíncrono associado.

O segundo método também gera qualquer exceção que é lançada quando Val é movido no estado assíncrono associado.

Para especialização parcial promise<Ty&>, o valor armazenado é efetivamente uma referência a Val.

Para especialização promise<void>, nenhum valor armazenado existe.

Requisitos

futuro deCabeçalho:

Namespace: STD

Consulte também

Referência

promise Class

<future>