Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Stellt ein "future"-Objekt dar, das einer asynchronen C++ AMP-Operation entspricht.
Syntax
class completion_future;
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| completion_future-Konstruktor | Initialisiert eine neue Instanz der completion_future-Klasse. |
| ~completion_future Destruktor | Zerstört das completion_future-Objekt. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| get | Wartet, bis der zugeordnete asynchrone Vorgang beendet ist. |
| then | Verkettet ein Rückruffunktionsobjekt mit dem completion_future-Objekt, das ausgeführt werden soll, wenn der zugeordnete asynchrone Vorgang beendet wird. |
| to_task | Gibt ein task-Objekt zurück, das dem zugeordneten asynchronen Vorgang entspricht. |
| gültig | Ruft einen booleschen Wert ab, der angibt, ob das Objekt einem asynchronen Vorgang zugeordnet ist. |
| wait | Blockiert, bis der zugeordnete asynchrone Vorgang beendet ist. |
| wait_for | Blockiert, bis der zugeordnete asynchrone Vorgang beendet oder die Zeit, die von _Rel_time angegeben wird, abgelaufen ist. |
| wait_until | Blockiert, bis der zugeordnete asynchrone Vorgang beendet ist oder die aktuelle Uhrzeit den von _Abs_time angegebenen Wert überschreitet. |
Öffentliche Operatoren
| Name | Beschreibung |
|---|---|
| operator std::shared_future<void> | Konvertiert implizit das completion_future-Objekt zu einem std::shared_future-Objekt. |
| operator= | Kopiert den Inhalt des angegebenen completion_future-Objekts in dieses Objekt. |
Vererbungshierarchie
completion_future
Anforderungen
Kopfzeile: amprt.h
Namespace: Parallelität
completion_future
Initialisiert eine neue Instanz der completion_future-Klasse.
Syntax
completion_future();
completion_future(
const completion_future& _Other );
completion_future(
completion_future&& _Other );
Parameter
_Other
Das completion_future objekt, das kopiert oder verschoben werden soll.
Überladungsliste
| Name | Beschreibung |
|---|---|
completion_future(); |
Initialisiert eine neue Instanz der completion_future Klasse |
completion_future(const completion_future& _Other); |
Initialisiert eine neue Instanz der completion_future Klasse durch Kopieren eines Konstruktors. |
completion_future(completion_future&& _Other); |
Initialisiert eine neue Instanz der completion_future Klasse durch Verschieben eines Konstruktors. |
get
Wartet, bis der zugeordnete asynchrone Vorgang beendet ist. Löst die gespeicherte Ausnahme aus, wenn während des asynchronen Vorgangs eine gefunden wurde.
Syntax
void get() const;
operator std::shared_future<void>
Konvertiert implizit das completion_future-Objekt zu einem std::shared_future-Objekt.
Syntax
operator std::shared_future<void>() const;
Rückgabewert
Ein std::shared_future-Objekt.
operator =
Kopiert den Inhalt des angegebenen completion_future-Objekts in dieses Objekt.
Syntax
completion_future& operator= (const completion_future& _Other );
completion_future& operator= (completion_future&& _Other );
Parameter
_Other
Das Objekt, aus dem kopiert wird.
Rückgabewert
Ein Verweis auf das completion_future-Objekt.
Überladungsliste
| Name | Beschreibung |
|---|---|
completion_future& operator=(const completion_future& _Other); |
Kopiert den Inhalt des angegebenen completion_future Objekts mithilfe einer tiefen Kopie in dieses Objekt. |
completion_future& operator=(completion_future&& _Other); |
Kopiert den Inhalt des angegebenen completion_future Objekts mithilfe einer Verschiebungszuweisung in dieses Objekt. |
Erforderliche Vorgehensweise
Verkettet ein Rückruffunktionsobjekt mit dem completion_future-Objekt, das ausgeführt werden soll, wenn der zugeordnete asynchrone Vorgang beendet wird.
Syntax
template <typename _Functor>
void then(const _Functor & _Func ) const;
Parameter
_Funktor
Der Rückruf-Functor.
_Func
Das Rückruffunktionsobjekt.
to_task
Gibt ein task-Objekt zurück, das dem zugeordneten asynchronen Vorgang entspricht.
Syntax
concurrency::task<void> to_task() const;
Rückgabewert
Ein task Objekt, das dem zugeordneten asynchronen Vorgang entspricht.
Gültig
Ruft einen booleschen Wert ab, der angibt, ob das Objekt einem asynchronen Vorgang zugeordnet ist.
Syntax
bool valid() const;
Rückgabewert
truewenn das Objekt einem asynchronen Vorgang zugeordnet ist; andernfalls . false
wait
Blockiert, bis der zugeordnete asynchrone Vorgang beendet ist.
Syntax
void wait() const;
wait_for
Blockiert, bis der zugeordnete asynchrone Vorgang beendet oder die Zeit, die von _Rel_time angegeben wird, abgelaufen ist.
Syntax
template <
class _Rep,
class _Period
>
std::future_status::future_status wait_for(
const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;
Parameter
_Ruf
Ein arithmetischer Typ, der die Anzahl von Zeiteinheiten darstellt.
_Periode
Ein std::ratio, das die Anzahl von Sekunden darstellt, die pro Zeiteinheit verstreichen.
_Rel_time
Die maximale Zeitspanne, die auf den Abschluss der Operation gewartet wird.
Rückgabewert
Gibt diese Werte zurück:
std::future_status::deferred, wenn der zugeordnete asynchrone Vorgang nicht ausgeführt wird.std::future_status::ready, wenn der zugeordnete asynchrone Vorgang abgeschlossen ist.std::future_status::timeout, wenn der angegebene Zeitraum verstrichen ist.
wait_until
Blockiert, bis der zugeordnete asynchrone Vorgang beendet ist oder die aktuelle Uhrzeit den von _Abs_time angegebenen Wert überschreitet.
Syntax
template <
class _Clock,
class _Duration
>
std::future_status::future_status wait_until(
const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;
Parameter
_Uhr
Die Uhr, auf der der Zeitpunkt gemessen wird.
_Dauer
Das Zeitintervall seit dem Beginn der _ClockEpoche, nach dem die Funktion timeout wird.
_Abs_time
Der Zeitpunkt, nach dem die Funktion durch einen Timeout beendet wird.
Rückgabewert
Gibt diese Werte zurück:
std::future_status::deferred, wenn der zugeordnete asynchrone Vorgang nicht ausgeführt wird.std::future_status::ready, wenn der zugeordnete asynchrone Vorgang abgeschlossen ist.std::future_status::timeout, wenn der angegebene Zeitraum verstrichen ist.
~completion_future
Zerstört das completion_future-Objekt.
Syntax
~completion_future();