Partilhar via


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:

  1. std::future_status::deferred se a operação assíncrona associada não está em execução.

  2. std::future_status::ready se a operação assíncrona associada está concluída.

  3. std::future_status::timeout se o período especificado tiver decorrido.

~completion_future

Destrói o objeto completion_future.

Sintaxe

~completion_future();

Confira também

Namespace de simultaneidade (C++ AMP)