<future>
Incluya el encabezado estándar <future> para definir clases de plantilla y plantillas auxiliares que simplifican ejecutar una función - posible en un independiente subproceso- y recuperar su resultado.El resultado es el valor devuelto por la función o una excepción que es emitido por la función pero no se detecta en la función.
Este encabezado utiliza el tiempo de ejecución (ConcRT) de simultaneidad para que pueda utilizarlo junto con otros mecanismos ConcRT.Para obtener más información sobre ConcRT, vea Runtime de simultaneidad.
#include <future>
Comentarios
[!NOTA]
En el código compilado utilizando /clr o /clr:pure, este encabezado está bloqueado.
Un proveedor asincrónico almacena el resultado de una llamada de función.Un objeto return asincrónico se utiliza para recuperar el resultado de una llamada de función.Un estado asincrónica asociada proporciona la comunicación entre un proveedor asincrónico y uno o más objetos de vuelta asincrónicos.
Un programa no crea directamente ningún objeto de estados asincrónica asociada.El programa crea un proveedor asincrónico cuando necesita uno y de que crea un objeto return asincrónico que comparte su estado asincrónica asociada con el proveedor.Los proveedores asincrónicos y los objetos de vuelta asincrónico administran los objetos que contienen el estado asincrónica asociada compartida.Cuando se destruye el objeto pasado que hace referencia a las versiones asincrónicos asociados de estado ella, el objeto que contiene el estado asincrónica asociada.
Un proveedor asincrónico o un objeto return asincrónico que no tiene estado asincrónica asociada está vacío.
Un estado asincrónica asociada está lista únicamente si el proveedor asincrónico ha almacenado un valor devuelto o ha almacenado una excepción.
La función async de plantilla y clases de plantilla promise y packaged_task son proveedores asincrónicos.Las clases de plantilla future y shared_future describen los objetos de vuelta asincrónico.
Cada una de las clases de plantilla promise, future, y shared_future tiene una especialización para el tipo void y una especialización parcial para almacenar y recuperar un valor por referencia.Estas especializaciones difieren de la plantilla principal únicamente en las firmas y la semántica de las funciones que almacenan y recuperan el valor devuelto.
Members
Clases
Nombre |
Descripción |
---|---|
Describe un objeto return asincrónico. |
|
Describe un objeto de excepción que se puede producir por métodos de tipos que administran objetos de future. |
|
Describe un proveedor asincrónico que es un contenedor de la llamada y cuya firma de llamada sea Ty(ArgTypes...).Su estado asincrónica asociada contiene una copia del objeto accesible además de resultado posible. |
|
Describe un proveedor asincrónico. |
|
Describe un objeto return asincrónico.Al contrario del objeto de future, un proveedor asincrónico se puede asociar a cualquier número de objetos de shared_future. |
Estructuras
Nombre |
Descripción |
---|---|
Especialización que indica que future_errc es útil para almacenar error_code. |
|
Especialización que siempre es true. |
Funciones
Nombre |
Descripción |
---|---|
Representa un proveedor asincrónico. |
|
Devuelve una referencia al objeto de error_category que caracteriza los errores asociados a los objetos de future. |
|
Crea error_code que tiene el objeto de error_category que caracteriza los errores de future. |
|
Crea error_condition que tiene el objeto de error_category que caracteriza los errores de future. |
|
Pase al estado asincrónica asociado de un objeto de promise con el de otro. |
Enumeraciones
Nombre |
Descripción |
---|---|
Nombres simbólicos de fuentes para los errores notificados por la clase de future_error. |
|
Nombres simbólicos de fuentes por las razones que una función de espera agotado puede devolver. |
|
Representa una máscara de bits tipo que describa los posibles modos para la función async de la plantilla. |