completion_future — Klasa

Reprezentuje przyszłość odpowiadającą operacji asynchronicznej C++ AMP.

Składnia

class completion_future;

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
konstruktor completion_future Inicjuje nowe wystąpienie klasy completion_future.
~completion_future Destruktor completion_future Niszczy obiekt.

Metody publiczne

Nazwa/nazwisko opis
get Czeka na zakończenie skojarzonej operacji asynchronicznej.
Następnie Powoduje utworzenie łańcucha obiektu funkcji wywołania zwrotnego do completion_future obiektu, który ma zostać wykonany, gdy skojarzona operacja asynchroniczna zakończy wykonywanie.
to_task task Zwraca obiekt odpowiadający skojarzonej operacji asynchronicznej.
Prawidłowe Pobiera wartość logiczną wskazującą, czy obiekt jest skojarzony z operacją asynchroniczną.
Czekać Blokuje działanie do momentu zakończenia skojarzonej operacji asynchronicznej.
wait_for Blokuje, dopóki skojarzona operacja asynchroniczna nie zostanie ukończona lub czas określony przez _Rel_time upłynął.
wait_until Blokuje, dopóki skojarzona operacja asynchroniczna nie zostanie ukończona lub dopóki bieżący czas nie przekroczy wartości określonej przez _Abs_time.

Operatory publiczne

Nazwa/nazwisko opis
operator std::shared_future<void> Niejawnie konwertuje completion_future obiekt na std::shared_future obiekt.
operator = Kopiuje zawartość określonego completion_future obiektu do tego.

Hierarchia dziedziczenia

completion_future

Wymagania

Nagłówek: amprt.h

Przestrzeń nazw: współbieżność

completion_future

Inicjuje nowe wystąpienie klasy completion_future.

Składnia

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Parametry

_Innych
completion_future Obiekt do skopiowania lub przeniesienia.

Lista przeciążeń

Nazwa/nazwisko opis
completion_future(); Inicjuje completion_future nowe wystąpienie klasy
completion_future(const completion_future& _Other); Inicjuje nowe wystąpienie completion_future klasy, kopiując konstruktor.
completion_future(completion_future&& _Other); Inicjuje nowe wystąpienie completion_future klasy przez przeniesienie konstruktora.

get

Czeka na zakończenie skojarzonej operacji asynchronicznej. Zgłasza przechowywany wyjątek, jeśli wystąpił podczas operacji asynchronicznej.

Składnia

void get() const;

operator std::shared_future<void>

Niejawnie konwertuje completion_future obiekt na std::shared_future obiekt.

Składnia

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

Wartość zwracana

Obiekt std::shared_future.

operator =

Kopiuje zawartość określonego completion_future obiektu do tego.

Składnia

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

Parametry

_Innych
Obiekt do skopiowania.

Wartość zwracana

Odwołanie do tego completion_future obiektu.

Lista przeciążeń

Nazwa/nazwisko opis
completion_future& operator=(const completion_future& _Other); Kopiuje zawartość określonego completion_future obiektu do tego obiektu przy użyciu kopii głębokiej.
completion_future& operator=(completion_future&& _Other); Kopiuje zawartość określonego completion_future obiektu do tego obiektu przy użyciu przypisania przenoszenia.

to

Powoduje utworzenie łańcucha obiektu funkcji wywołania zwrotnego do completion_future obiektu, który ma zostać wykonany, gdy skojarzona operacja asynchroniczna zakończy wykonywanie.

Składnia

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

Parametry

_Teoria
Functor wywołania zwrotnego.

_Func
Obiekt funkcji wywołania zwrotnego.

to_task

task Zwraca obiekt odpowiadający skojarzonej operacji asynchronicznej.

Składnia

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

Wartość zwracana

task Obiekt odpowiadający skojarzonej operacji asynchronicznej.

Prawidłowe

Pobiera wartość logiczną wskazującą, czy obiekt jest skojarzony z operacją asynchroniczną.

Składnia

bool valid() const;

Wartość zwracana

true jeśli obiekt jest skojarzony z operacją asynchroniczną; w przeciwnym razie, false.

wait

Blokuje działanie do momentu zakończenia skojarzonej operacji asynchronicznej.

Składnia

void wait() const;

wait_for

Blokuje, dopóki skojarzona operacja asynchroniczna nie zostanie ukończona lub czas określony przez _Rel_time upłynął.

Składnia

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

Parametry

_Rep
Typ arytmetyczny reprezentujący liczbę kleszczy.

_Okres
Std::ratio, który reprezentuje liczbę sekund, które upłynęły na kleszcze.

_Rel_time
Maksymalny czas oczekiwania na ukończenie operacji.

Wartość zwracana

Zwraca:

  • std::future_status::deferred jeśli skojarzona operacja asynchroniczna nie jest uruchomiona.

  • std::future_status::ready jeśli skojarzona operacja asynchroniczna jest zakończona.

  • std::future_status::timeout jeśli określony okres upłynie.

wait_until

Blokuje, dopóki skojarzona operacja asynchroniczna nie zostanie ukończona lub dopóki bieżący czas nie przekroczy wartości określonej przez _Abs_time.

Składnia

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

Parametry

_Zegar
Zegar, na którym jest mierzony ten punkt czasu.

_Długość
Przedział czasu od początku _Clockepoki, po którym funkcja upłynął limit czasu.

_Abs_time
Punkt w czasie, po którym funkcja upłynął limit czasu.

Wartość zwracana

Zwraca:

  1. std::future_status::deferred jeśli skojarzona operacja asynchroniczna nie jest uruchomiona.

  2. std::future_status::ready jeśli skojarzona operacja asynchroniczna jest zakończona.

  3. std::future_status::timeout jeśli określony okres upłynął.

~completion_future

completion_future Niszczy obiekt.

Składnia

~completion_future();

Zobacz też

Przestrzeń nazw współbieżności (C++ AMP)