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 _Clock
periodo, 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:
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.
~completion_future
Elimina definitivamente l'oggetto completion_future
.
Sintassi
~completion_future();