Partager via


promise::set_value, méthode

Stocke de manière atomique une valeur suite à cet objet promise et met l'état asynchrone associé sur prêt.

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();

Paramètres

  • Val
    Valeur à stocker comme résultat.

Notes

Si l'objet promise 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.

Suite à cette méthode, tous les threads qui sont bloqués sur l'état asynchrone associé deviennent débloqués.

La première méthode renvoie également toute exception qui l'est lorsque le Val est copié dans l'état asynchrone associé. Dans cette situation, l'état asynchrone associé n'est pas défini comme prêt.

La deuxième méthode renvoie également toute exception qui l'est lorsque le Val est déplacée dans l'état asynchrone associé. Dans cette situation, l'état asynchrone associé n'est pas défini comme prêt.

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

Voir aussi

Référence

promise, classe

<future>