<future>
Inclua o cabeçalho padrão <future> para definir classes de modelo e modelos de suporte que simplificam executar uma função - possível em uma separada de segmento e recuperar o resultado.O resultado é tanto o valor retornado pela função ou por uma exceção que é emitida pela função mas não for detectado na função.
Este cabeçalho usa o tempo de execução (ConcRT) de simultaneidade para que você possa usar o em conjunto com outros mecanismos de ConcRT.Para obter mais informações sobre ConcRT, consulte Tempo de execução de concorrência.
#include <future>
Comentários
Observação |
---|
No código que é criado usando /clr ou /clr:pure, este cabeçalho é bloqueado. |
Um provedor assíncrono armazena o resultado de uma chamada de função.Um objeto de retorno assíncrono é usado para recuperar o resultado de uma chamada de função.Um estado assíncrono associado fornecem comunicação entre um provedor assíncrona e um ou mais objetos de retorno assíncronas.
Um programa não cria os objetos diretamente associados assíncronas de estado.O programa cria um provedor assíncrono sempre que precisa de um e de que cria um objeto de retorno assíncrona que compartilhar seu estado assíncrono associado com o provedor.Os provedores assíncronos e retornar objetos de assíncronos gerenciam os objetos que contêm seu estado assíncrono associado compartilhado.Quando o objeto do último que referencia o estado assíncrono associado, o libera o objeto que mantém o estado assíncrono associado é destruído.
Um provedor assíncrono ou um objeto de retorno assíncrono que não tem estado assíncrono associado são vazia.
Um estado assíncrono associado está pronto somente se o seu provedor assíncrono armazenou um valor de retorno ou armazenou uma exceção.
A função async de modelo e as classes promise e packaged_task de modelo são provedores assíncronas.As classes future e shared_future de modelo descrevem objetos de retorno assíncronas.
Cada modelo de classe promise, future, e shared_future tem uma especialização para o tipo void e uma especialização parcial para armazenar e recuperar um valor por referência.Essas especializações diferem de modelo primária apenas nas assinaturas e em semântica das funções que armazenam e recuperam o valor retornado.
Membros
Classes
Nome |
Descrição |
---|---|
Descreve um objeto de retorno assíncrono. |
|
Descreve um objeto de exceção que pode ser lançada por métodos de tipos que gerenciam objetos de future . |
|
Descreve um provedor assíncrono que é um wrapper de chamada e uma cujo a assinatura de chamada é Ty(ArgTypes...).Seu estado assíncrono associado contém uma cópia do seu objeto acessível além do que o resultado em potencial. |
|
Descreve um provedor assíncrono. |
|
Descreve um objeto de retorno assíncrono.Contrariamente a um objeto de future , um provedor assíncrona pode ser associado com qualquer número de objetos de shared_future . |
Estruturas
Nome |
Descrição |
---|---|
Especialização que indica que future_errc é apropriado para armazenar error_code. |
|
Especialização que contém sempre true. |
Funções
Nome |
Descrição |
---|---|
Representa um provedor assíncrono. |
|
Retorna uma referência para o objeto de error_category que apresenta os erros que são associados aos objetos de future . |
|
Cria error_code que tem o objeto de error_category que apresenta erros de future . |
|
Cria error_condition que tem o objeto de error_category que apresenta erros de future . |
|
Troca o estado assíncrono associado de um objeto de promise com o que de outro. |
Enumerações
Nome |
Descrição |
---|---|
Fornece nomes token para os erros que são relatados pela classe de future_error . |
|
Fornece nomes token por razões que uma função agendada de espera pode retornar. |
|
Representa um tipo de máscara de bits que descreve os modos possíveis para a função asyncdo modelo. |