Namespaces
Variants

std::experimental::shared_future<T>:: shared_future

From cppreference.net

shared_future ( ) noexcept ;
(1)
shared_future ( std:: experimental :: shared_future < T > && f ) noexcept ;
(2)
shared_future ( const std:: experimental :: shared_future < T > & f ) ;
(3)
shared_future ( std:: experimental :: future < std:: experimental :: shared_future < T >> && other ) noexcept ;
(4)
shared_future ( std:: experimental :: future < T > && f ) noexcept ;
(5)
1) Constructeur par défaut. Construit un objet shared_future vide qui ne fait référence à aucun état partagé.
2) Construit un objet shared_future , transférant l'état partagé détenu par f , s'il existe. Après la construction, f. valid ( ) est false .
3) Construit un futur partagé qui fait référence au même état partagé que f , s'il existe.
4) Constructeur de déballage. Construit un objet shared_future à partir de l'état partagé référencé par other , s'il existe. Si other. valid ( ) == false avant cet appel, l'objet shared_future construit est vide. Sinon, l'objet shared_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 shared_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 shared_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 .
5) Construit un objet shared_future , transférant l'état partagé détenu par f , s'il existe. Après la construction, f. valid ( ) est 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::shared_future<T> )