promise::set_value_at_thread_exit, méthode
Stocke de manière atomique une valeur suite à cet objet 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();
Paramètres
- Val
Valeur à stocker comme résultat.
Notes
Si l'objet de promesse n'a pas d' état asynchrone associé, cette méthode renvoie une future_error qui a un code d'erreur de no_state.
Si set_exception, set_exception_at_thread_exit, set_value ou set_value_at_thread_exit a déjà été appelé pour un objet promise qui a le même état asynchrone associé, cette méthode renvoie une future_error qui a un code d'erreur de promise_already_satisfied.
Contrairement à set_value, l'état asynchrone associé n'est pas mis à prêt jusqu'à ce que tous les objets locaux au thread dans le thread actuel aient été détruits. En général, les threads qui sont bloqués sur l'état asynchrone associé ne sont pas tous débloqués jusqu'à ce que le thread actuel s'arrête.
La première méthode renvoie également toute exception qui l'est lorsque le Val est copié dans l'état asynchrone associé.
La deuxième méthode renvoie également toute exception qui l'est lorsque le Val est déplacée dans l'état asynchrone associé.
Pour la spécialisation partielle promise<Ty&>, la valeur stockée est effectivement une référence à Val.
Pour la spécialisation promise<void>, aucune valeur stockée n'existe.
Configuration requise
En-tête : future
Espace de noms : std