Sdílet prostřednictvím


completion_future – třída

Představuje budoucnost odpovídající asynchronní operaci C++ AMP.

Syntaxe

class completion_future;

Členové

Veřejné konstruktory

Jméno popis
konstruktor completion_future Inicializuje novou instanci completion_future třídy.
~completion_future Destruktor completion_future Zničí objekt.

Veřejné metody

Jméno popis
get Čeká na dokončení přidružené asynchronní operace.
Pak Zřetězí objekt funkce zpětného volání s objektem completion_future , který se má provést, když přidružená asynchronní operace dokončí provádění.
to_task task Vrátí objekt odpovídající přidružené asynchronní operaci.
Platný Získá logickou hodnotu, která označuje, zda objekt je přidružen k asynchronní operaci.
Počkej Blokuje, dokud se přidružená asynchronní operace neskonjí.
wait_for Blokuje, dokud se přidružená asynchronní operace neskončila nebo uplynul čas určený uplynulým časem _Rel_time .
wait_until Blokuje, dokud přidružená asynchronní operace neskončí nebo dokud aktuální čas nepřekročí hodnotu určenou parametrem _Abs_time.

Veřejné operátory

Jméno popis
std::shared_future<void> Implicitně převede completion_future objekt na std::shared_future objekt.
operator= Zkopíruje obsah zadaného completion_future objektu do tohoto objektu.

Hierarchie dědičnosti

completion_future

Požadavky

Záhlaví: amprt.h

Obor názvů: souběžnost

completion_future

Inicializuje novou instanci completion_future třídy.

Syntaxe

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Parametry

_Další
Objekt completion_future , který chcete zkopírovat nebo přesunout.

Seznam přetížení

Jméno popis
completion_future(); Inicializuje novou instanci completion_future třídy.
completion_future(const completion_future& _Other); Inicializuje novou instanci completion_future třídy zkopírováním konstruktoru.
completion_future(completion_future&& _Other); Inicializuje novou instanci completion_future třídy přesunutím konstruktoru.

get

Čeká na dokončení přidružené asynchronní operace. Vyvolá uloženou výjimku, pokud byla zjištěna během asynchronní operace.

Syntaxe

void get() const;

std::shared_future<void>

Implicitně převede completion_future objekt na std::shared_future objekt.

Syntaxe

operator std::shared_future<void>() const;

Vrácená hodnota

Objekt std::shared_future .

operator=

Zkopíruje obsah zadaného completion_future objektu do tohoto objektu.

Syntaxe

completion_future&  operator= (const completion_future& _Other );
completion_future&  operator= (completion_future&& _Other );

Parametry

_Další
Objekt, ze který chcete kopírovat.

Vrácená hodnota

Odkaz na tento completion_future objekt.

Seznam přetížení

Jméno popis
completion_future& operator=(const completion_future& _Other); Zkopíruje obsah zadaného completion_future objektu do tohoto objektu pomocí hloubkové kopie.
completion_future& operator=(completion_future&& _Other); Zkopíruje obsah zadaného completion_future objektu do tohoto objektu pomocí přiřazení přesunutí.

pak

Zřetězí objekt funkce zpětného volání s objektem completion_future , který se má provést, když přidružená asynchronní operace dokončí provádění.

Syntaxe

template <typename _Functor>
void then(const _Functor & _Func ) const;

Parametry

_Functor
Functor zpětného volání.

_Func
Objekt funkce zpětného volání.

to_task

task Vrátí objekt odpovídající přidružené asynchronní operaci.

Syntaxe

concurrency::task<void> to_task() const;

Vrácená hodnota

Objekt task odpovídající přidružené asynchronní operaci.

Platný

Získá logickou hodnotu, která označuje, zda objekt je přidružen k asynchronní operaci.

Syntaxe

bool valid() const;

Vrácená hodnota

trueje-li objekt přidružen k asynchronní operaci; v opačném případě . false

wait

Blokuje, dokud se přidružená asynchronní operace neskonjí.

Syntaxe

void wait() const;

wait_for

Blokuje, dokud se přidružená asynchronní operace nedokončí nebo dokud neuplyne zadaný čas _Rel_time .

Syntaxe

template <
    class _Rep,
    class _Period
>
std::future_status::future_status wait_for(
    const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;

Parametry

_Rep
Aritmetický typ, který představuje počet záškrtů.

_Období
Poměr std::, který představuje počet sekund, které uplynuly za každou klíště.

_Rel_time
Maximální doba čekání na dokončení operace.

Vrácená hodnota

Vrátí:

  • std::future_status::deferred pokud přidružená asynchronní operace není spuštěná.

  • std::future_status::ready pokud je přidružená asynchronní operace dokončena.

  • std::future_status::timeout pokud uplynulo zadané časové období.

wait_until

Blokuje, dokud přidružená asynchronní operace neskončí nebo dokud aktuální čas nepřekročí hodnotu určenou parametrem _Abs_time.

Syntaxe

template <
    class _Clock,
    class _Duration
>
std::future_status::future_status wait_until(
    const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;

Parametry

_Hodiny
Hodiny, na kterých se tento časový bod měří.

_Doba trvání
Časový interval od začátku _Clockepochy, po které vyprší časový limit funkce.

_Abs_time
Bod v čase, po kterém funkce vyprší časový limit.

Vrácená hodnota

Vrátí:

  1. std::future_status::deferred pokud přidružená asynchronní operace není spuštěná.

  2. std::future_status::ready pokud je přidružená asynchronní operace dokončena.

  3. std::future_status::timeout pokud zadané časové období uplynulo.

~completion_future

completion_future Zničí objekt.

Syntaxe

~completion_future();

Viz také

Obor názvů Concurrency (C++ AMP)