Freigeben über


completion_future-Klasse

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:

  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)