Classe completion_future
Representa um futuro correspondente a uma operação assíncrona C++ AMP.
Sintaxe
class completion_future;
Membros
Construtores públicos
Nome | Descrição |
---|---|
Construtor completion_future | Inicializa uma nova instância da classe completion_future . |
Destruidor ~completion_future | Destrói o objeto completion_future . |
Métodos públicos
Nome | Descrição |
---|---|
get | Aguarda até que a operação assíncrona associada seja concluída. |
then | Encadeia um objeto de função de retorno de chamada para o objeto completion_future a ser executado quando a operação assíncrona associada conclui a execução. |
to_task | Retorna um objeto task correspondente à operação assíncrona associada. |
valid | Obtém um valor booliano que indica se o objeto está associado a uma operação assíncrona. |
wait | Bloqueia até que a operação assíncrona associada seja concluída. |
wait_for | Bloqueia até que a operação assíncrona associada seja concluída ou o tempo especificado por _Rel_time tenha se passado. |
wait_until | Bloqueia até que a operação assíncrona associada seja concluída ou até que a hora atual exceda o valor especificado por _Abs_time . |
Operadores públicos
Nome | Descrição |
---|---|
operator std::shared_future<void> | Converte explicitamente o objeto completion_future em um objeto std::shared_future . |
operator= | Copia o conteúdo do objeto especificado completion_future para este objeto. |
Hierarquia de herança
completion_future
Requisitos
Cabeçalho: amprt.h
Namespace: concurrency
completion_future
Inicializa uma nova instância da classe completion_future
.
Sintaxe
completion_future();
completion_future(
const completion_future& _Other );
completion_future(
completion_future&& _Other );
Parâmetros
_Other
O objeto completion_future
a ser copiado ou movido.
Lista de sobrecargas
Nome | Descrição |
---|---|
completion_future(); |
Inicializa uma nova instância da classe completion_future |
completion_future(const completion_future& _Other); |
Inicializa uma nova instância da classe completion_future copiando um construtor. |
completion_future(completion_future&& _Other); |
Inicializa uma nova instância da classe completion_future movendo um construtor. |
get
Aguarda até que a operação assíncrona associada seja concluída. Gera a exceção armazenada se uma tiver sido encontrada durante a operação assíncrona.
Sintaxe
void get() const;
operador std::shared_future<void>
Converte explicitamente o objeto completion_future
em um objeto std::shared_future
.
Sintaxe
operator std::shared_future<void>() const;
Valor retornado
Um objeto std::shared_future
.
operator=
Copia o conteúdo do objeto especificado completion_future
para este objeto.
Sintaxe
completion_future& operator= (const completion_future& _Other );
completion_future& operator= (completion_future&& _Other );
Parâmetros
_Other
O objeto do qual copiar.
Valor de retorno
Uma referência a esse objeto completion_future
.
Lista de sobrecargas
Nome | Descrição |
---|---|
completion_future& operator=(const completion_future& _Other); |
Copia o conteúdo do objeto completion_future especificado para este usando uma cópia profunda. |
completion_future& operator=(completion_future&& _Other); |
Copia o conteúdo do objeto completion_future especificado para este usando uma atribuição de movimentação. |
e, em seguida,
Encadeia um objeto de função de retorno de chamada para o objeto completion_future
a ser executado quando a operação assíncrona associada conclui a execução.
Sintaxe
template <typename _Functor>
void then(const _Functor & _Func ) const;
Parâmetros
_Functor
O functor de retorno de chamada.
_Func
O objeto da função de retorno de chamada.
to_task
Retorna um objeto task
correspondente à operação assíncrona associada.
Sintaxe
concurrency::task<void> to_task() const;
Valor retornado
Um objeto task
correspondente à operação assíncrona associada.
valid
Obtém um valor booliano que indica se o objeto está associado a uma operação assíncrona.
Sintaxe
bool valid() const;
Valor retornado
true
se o objeto estiver associado a uma operação assíncrona; caso contrário, false
.
wait
Bloqueia até que a operação assíncrona associada seja concluída.
Sintaxe
void wait() const;
wait_for
Bloqueia até que a operação assíncrona associada seja concluída ou o tempo especificado por _Rel_time
tenha se passado.
Sintaxe
template <
class _Rep,
class _Period
>
std::future_status::future_status wait_for(
const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;
Parâmetros
_Rep
Um tipo aritmético que representa o número de tiques.
_Period
Uma std::ratio que representa o número de segundos decorridos por tique.
_Rel_time
O tempo máximo de espera para a operação ser concluída.
Valor de retorno
Retorna:
std::future_status::deferred
se a operação assíncrona associada não está em execução.std::future_status::ready
se a operação assíncrona associada está concluída.std::future_status::timeout
se o período especificado tiver decorrido.
wait_until
Bloqueia até que a operação assíncrona associada seja concluída ou até que a hora atual exceda o valor especificado por _Abs_time
.
Sintaxe
template <
class _Clock,
class _Duration
>
std::future_status::future_status wait_until(
const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;
Parâmetros
_Clock
O relógio no qual esse ponto no tempo é medido.
_Duration
O intervalo de tempo desde o início da _Clock
época de , após o qual a função atingirá o tempo limite.
_Abs_time
O ponto no tempo após o qual a função atinge o tempo limite.
Valor de retorno
Retorna:
std::future_status::deferred
se a operação assíncrona associada não está em execução.std::future_status::ready
se a operação assíncrona associada está concluída.std::future_status::timeout
se o período especificado tiver decorrido.
~completion_future
Destrói o objeto completion_future
.
Sintaxe
~completion_future();