Partilhar via


completion_future Classe

Representa um futuro correspondente a uma operação assíncrona AMP em C++.

Sintaxe

class completion_future;

Membros

Construtores Públicos

Nome Description
completion_future Constructor Inicializa uma nova instância da completion_future classe.
~completion_future Destructor Destrói o completion_future objeto.

Métodos Públicos

Nome Description
obter Espera até que a operação assíncrona associada seja concluída.
em seguida, Encadeia um objeto de função de callback ao objeto completion_future para ser executado quando a execução da operação assíncrona associada termina.
to_task Devolve um task objeto correspondente à operação assíncrona associada.
válido Obtém um valor booleano que indica se o objeto está associado a uma operação assíncrona.
aguarde Bloqueia até que a operação assíncrona associada seja concluída.
wait_for Suspende até que a operação assíncrona associada seja concluída ou o tempo especificado por _Rel_time tenha decorrido.
wait_until Bloqueia até que a operação assíncrona associada seja completada ou até que o tempo atual exceda o valor especificado por _Abs_time.

Operadores Públicos

Nome Description
operator std::shared_future<void> Implicitamente converte o completion_future objeto num std::shared_future objeto.
operador= Copia o conteúdo do objeto especificado completion_future para este.

Hierarquia de herança

completion_future

Requerimentos

Cabeçalho: amprt.h

Namespace: simultaneidade

futuro_de_conclusão

Inicializa uma nova instância da completion_future classe.

Sintaxe

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Parâmetros

_Other
O completion_future objeto a copiar ou mover.

Lista de Sobrecargas

Nome Description
completion_future(); Inicializa uma nova instância da completion_future Classe
completion_future(const completion_future& _Other); Inicializa uma nova instância da completion_future classe copiando um construtor.
completion_future(completion_future&& _Other); Inicializa uma nova instância da completion_future classe movendo um construtor.

get

Espera até que a operação assíncrona associada seja concluída. Lança a exceção armazenada caso tenha sido encontrada durante a operação assíncrona.

Sintaxe

void get() const;

operador std::shared_future<void>

Implicitamente converte o completion_future objeto num std::shared_future objeto.

Sintaxe

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

Valor de retorno

Um std::shared_future objeto.

operador=

Copia o conteúdo do objeto especificado completion_future para este.

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 este completion_future objeto.

Lista de Sobrecargas

Nome Description
completion_future& operator=(const completion_future& _Other); Copia o conteúdo do objeto especificado completion_future para este, usando uma cópia profunda.
completion_future& operator=(completion_future&& _Other); Copia o conteúdo do objeto especificado completion_future para este, usando uma atribuição de movimento.

então

Encadeia um objeto de função de callback ao objeto completion_future para ser executado quando a execução da operação assíncrona associada termina.

Sintaxe

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

Parâmetros

_Functor
O funtor de chamada de retorno.

_Func
O objeto de função de callback.

iniciar_tarefa

Devolve um task objeto correspondente à operação assíncrona associada.

Sintaxe

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

Valor de retorno

Um task objeto correspondente à operação assíncrona associada.

válido

Obtém um valor booleano que indica se o objeto está associado a uma operação assíncrona.

Sintaxe

bool valid() const;

Valor de retorno

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;

esperar_por

Bloqueia até que a operação assíncrona associada seja concluída ou tenha passado o tempo especificado por _Rel_time.

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 relação std::que representa o número de segundos que decorrem por tick.

_Rel_time
O tempo máximo para esperar que a operação termine.

Valor de retorno

Devoluções:

  • std::future_status::deferred se a operação assíncrona associada não estiver a funcionar.

  • std::future_status::ready se a operação assíncrona associada estiver concluída.

  • std::future_status::timeout se o período especificado já tiver passado.

esperar_até

Bloqueia até que a operação assíncrona associada seja completada ou até que o tempo 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 em que este ponto temporal é medido.

_Duration
O intervalo de tempo desde o início da época de _Clock, após o qual a função será interrompida.

_Abs_time
O momento após o qual a função expira.

Valor de retorno

Devoluções:

  1. std::future_status::deferred se a operação assíncrona associada não estiver a funcionar.

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

  3. std::future_status::timeout se o período especificado já tiver passado.

~completion_future

Destrói o completion_future objeto.

Sintaxe

~completion_future();

Consulte também

Espaço de Nomes de Concorrência (C++ AMP)