Freigeben über


completion_future-Klasse

Stellt ein Future-Objekt dar, das einer asynchronen Operation in C++ AMP entspricht.

Syntax

class completion_future;

Mitglieder

Ö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.
dann 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.

abrufen

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.

dann

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

_Functor
Der Rückruffunktor.

_Func
Das Rückruffunktionsobjekt.

zuAufgabe

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

warten

Blockiert, bis der zugeordnete asynchrone Vorgang beendet ist.

Syntax

void wait() const;

warte_auf

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

_Reparatur
Ein arithmetischer Typ, der die Anzahl von Ticks darstellt.

_Periode
Ein std::ratio, das die Anzahl der Sekunden darstellt, die pro Tick verstreichen.

_Rel_time
Die maximale Dauer, die zum Abschluss der Operation abgewartet werden soll.

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.

warten_bis

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 _Clock-Epoche, nach dem die Funktion abläuft.

_Abs_time
Der Zeitpunkt, nach dem die Funktion durch einen Timeout beendet wird.

Rückgabewert

Gibt diese Werte zurück:

  1. std::future_status::deferred, wenn der zugeordnete asynchrone Vorgang nicht ausgeführt wird.

  2. std::future_status::ready, wenn der zugeordnete asynchrone Vorgang abgeschlossen ist.

  3. std::future_status::timeout, wenn der angegebene Zeitraum verstrichen ist.

~completion_future

Zerstört das completion_future-Objekt.

Syntax

~completion_future();

Siehe auch

Concurrency-Namespace (C++ AMP)