Condividi tramite


Classe completion_future

Rappresenta un futuro corrispondente a un'operazione asincrona C++ AMP.

Sintassi

class completion_future;

Membri

Costruttori pubblici

Nome Descrizione
Costruttore completion_future Inizializza una nuova istanza della classe completion_future.
Distruttore ~completion_future Elimina definitivamente l'oggetto completion_future .

Metodi pubblici

Nome Descrizione
get Attende il completamento dell'operazione asincrona associata.
then Concatena un oggetto funzione di callback all'oggetto completion_future da eseguire al termine dell'esecuzione dell'operazione asincrona associata.
to_task Restituisce un task oggetto corrispondente all'operazione asincrona associata.
valevole Ottiene un valore booleano che indica se l'oggetto è associato a un'operazione asincrona.
aspettare Blocca fino al completamento dell'operazione asincrona associata.
wait_for Blocca finché l'operazione asincrona associata non viene completata o il tempo specificato da _Rel_time è trascorso.
wait_until Blocca fino al completamento dell'operazione asincrona associata o fino a quando il tempo corrente supera il valore specificato da _Abs_time.

Operatori pubblici

Nome Descrizione
operator std::shared_future<void> Converte in modo implicito l'oggetto completion_future in un std::shared_future oggetto .
operator= Copia il contenuto dell'oggetto specificato completion_future in questo oggetto.

Gerarchia di ereditarietà

completion_future

Requisiti

Intestazione: amprt.h

Spazio dei nomi: Concurrency

completion_future

Inizializza una nuova istanza della classe completion_future.

Sintassi

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Parametri

_Altro
Oggetto completion_future da copiare o spostare.

Elenco overload

Nome Descrizione
completion_future(); Inizializza una nuova istanza della completion_future classe
completion_future(const completion_future& _Other); Inizializza una nuova istanza della completion_future classe copiando un costruttore.
completion_future(completion_future&& _Other); Inizializza una nuova istanza della completion_future classe spostando un costruttore.

get

Attende il completamento dell'operazione asincrona associata. Genera l'eccezione archiviata se ne è stata rilevata una durante l'operazione asincrona.

Sintassi

void get() const;

operator std::shared_future<void>

Converte in modo implicito l'oggetto completion_future in un std::shared_future oggetto .

Sintassi

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

Valore restituito

Oggetto std::shared_future.

operator=

Copia il contenuto dell'oggetto specificato completion_future in questo oggetto.

Sintassi

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

Parametri

_Altro
Oggetto da cui eseguire la copia.

Valore restituito

Riferimento a questo completion_future oggetto.

Elenco overload

Nome Descrizione
completion_future& operator=(const completion_future& _Other); Copia il contenuto dell'oggetto specificato completion_future in questo oggetto, usando una copia completa.
completion_future& operator=(completion_future&& _Other); Copia il contenuto dell'oggetto specificato completion_future in questo oggetto, usando un'assegnazione di spostamento.

then

Concatena un oggetto funzione di callback all'oggetto completion_future da eseguire al termine dell'esecuzione dell'operazione asincrona associata.

Sintassi

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

Parametri

_Funtore
Funtore di callback.

_Func
Oggetto funzione di callback.

to_task

Restituisce un task oggetto corrispondente all'operazione asincrona associata.

Sintassi

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

Valore restituito

Oggetto task corrispondente all'operazione asincrona associata.

valevole

Ottiene un valore booleano che indica se l'oggetto è associato a un'operazione asincrona.

Sintassi

bool valid() const;

Valore restituito

true se l'oggetto è associato a un'operazione asincrona; in caso contrario, false.

wait

Blocca fino al completamento dell'operazione asincrona associata.

Sintassi

void wait() const;

wait_for

Blocca finché l'operazione asincrona associata non viene completata o il tempo specificato da _Rel_time è trascorso.

Sintassi

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

Parametri

_Rappresentante
Tipo aritmetico che rappresenta il numero di tick.

_Periodo
Std::ratio che rappresenta il numero di secondi trascorsi per tick.

_Rel_time
Quantità massima di tempo di attesa per il completamento dell'operazione.

Valore restituito

Restituisce:

  • std::future_status::deferred se l'operazione asincrona associata non è in esecuzione.

  • std::future_status::ready se l'operazione asincrona associata è stata completata.

  • std::future_status::timeout se il periodo di tempo specificato è trascorso.

wait_until

Blocca fino al completamento dell'operazione asincrona associata o fino a quando il tempo corrente supera il valore specificato da _Abs_time.

Sintassi

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

Parametri

_Orologio
Orologio su cui viene misurato questo punto di tempo.

_Durata
Intervallo di tempo dall'inizio del _Clockperiodo, dopo il quale si verifica il timeout della funzione.

_Abs_time
Punto nel tempo dopo il quale si verifica il timeout della funzione.

Valore restituito

Restituisce:

  1. std::future_status::deferred se l'operazione asincrona associata non è in esecuzione.

  2. std::future_status::ready se l'operazione asincrona associata è stata completata.

  3. std::future_status::timeout se il periodo di tempo specificato è trascorso.

~completion_future

Elimina definitivamente l'oggetto completion_future .

Sintassi

~completion_future();

Vedi anche

Spazio dei nomi Concurrency (C++ AMP)