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)
**Anmerkung:** Der gesamte C++-Code innerhalb der ` ` Tags wurde gemäß den Anweisungen nicht übersetzt, da es sich um Code handelt. Die numerischen Bezeichnungen (1)-(5) wurden ebenfalls beibehalten, da sie Teil der technischen Dokumentation sind.
1) Standardkonstruktor. Konstruiert ein leeres shared_future Objekt, das keinen gemeinsamen Zustand referenziert.
2) Konstruiert ein shared_future -Objekt, das den gemeinsam genutzten Zustand von f überträgt, falls vorhanden. Nach der Konstruktion ist f. valid ( ) false .
3) Konstruiert ein shared future, das sich auf denselben gemeinsamen Zustand wie f bezieht, falls vorhanden.
4) Entpackender Konstruktor. Konstruiert ein shared_future -Objekt aus dem durch other referenzierten gemeinsamen Zustand, falls vorhanden. Wenn other. valid ( ) == false vor diesem Aufruf, ist das konstruierte shared_future -Objekt leer. Andernfalls wird das resultierende shared_future -Objekt bereit, wenn eines der folgenden Ereignisse eintritt:
  • other und other. get ( ) beide bereit sind. Der Wert oder die Ausnahme von other. get ( ) wird im gemeinsamen Zustand des resultierenden shared_future -Objekts gespeichert.
  • other ist bereit, aber other. get ( ) ist ungültig. Eine Ausnahme vom Typ std::future_error mit einer Fehlerbedingung std::future_errc::broken_promise wird im gemeinsamen Zustand des resultierenden shared_future -Objekts gespeichert.
Nachdem dieser Konstruktor zurückkehrt, valid ( ) entspricht dem Wert von other. valid ( ) vor diesem Aufruf, und other. valid ( ) == false .
5) Erstellt ein shared_future -Objekt und überträgt den gemeinsamen Zustand, der von f gehalten wird, falls vorhanden. Nach der Konstruktion ist f. valid ( ) false .

Inhaltsverzeichnis

Parameter

f - ein weiteres Future-Objekt zur Initialisierung
other - ein std::experimental::future Objekt zum Entpacken

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2697 Concurrency TS Verhalten des Unwrapping-Konstruktors ist unklar mit einem ungültigen future konstruiert einen leeren future

Siehe auch

Konstruiert das Future-Objekt
(öffentliche Elementfunktion von std::shared_future<T> )