std::experimental::shared_future<T>:: shared_future
From cppreference.net
<
cpp
|
experimental
|
shared future
|
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_futureré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_futureré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
|
Cette section est incomplète
Raison : aucun 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>
)
|