Namespaces
Variants

std::experimental::future<T>:: future

From cppreference.net

future ( ) noexcept ;
(1)
future ( std:: experimental :: future < T > && f ) noexcept ;
(2)
future ( const std:: experimental :: future < T > & ) = delete ;
(3)
(4)
1) Constructeur par défaut. Construit un objet future vide qui ne fait référence à aucun état partagé.
2) Construit un objet future , transférant l'état partagé détenu par f , s'il existe. Après la construction, f. valid ( ) est false .
3) Le constructeur de copie est supprimé. future ne peut pas être copié.
4) Constructeur de déballage. Construit un objet future à partir de l'état partagé référencé par other , s'il existe. Si other. valid ( ) == false avant cet appel, l'objet future construit est vide. Sinon, l'objet future résultant devient prêt lorsque l'une des conditions suivantes se produit :
  • other et other. get ( ) sont tous deux prêts. La valeur ou l'exception de other. get ( ) est stockée dans l'état partagé associé à l'objet future résultant.
  • other est prêt, mais other. get ( ) est invalide. Une exception de type std::future_error avec une condition d'erreur std::future_errc::broken_promise est stockée dans l'état partagé associé à l'objet future résultant.
Après le retour de ce constructeur, valid ( ) est égal à la valeur de other. valid ( ) avant cet appel, et other. valid ( ) == false .


Table des matières

Paramètres

f - autre objet futur à initialiser
other - un objet std::experimental::future à dérouler

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 2697 Concurrency TS le comportement du constructeur de déballage est ambigu avec un future invalide construit un future vide

Voir aussi

construit l'objet future
(fonction membre publique de std::future<T> )