Compartir por


Clase CompletionFuture

Representa un futuro que corresponde a la operación asincrónica de C++ AMP.

Sintaxis

class completion_future;

Miembros

Constructores públicos

Nombre Descripción
Constructor de futuro de finalización Inicializa una nueva instancia de la clase completion_future.
Destructor ~completion_future Destruye el objeto completion_future.

Métodos públicos

Nombre Descripción
obtener Espera hasta que se completa la operación asincrónica asociada.
entonces Encadena un objeto de función de devolución de llamada al objeto completion_future que se va a ejecutar cuando la operación asincrónica asociada termine su ejecución.
to_task Devuelve un objeto task correspondiente a la operación asincrónica correspondiente.
válido Obtiene un valor booleano que indica si el objeto está asociado a una operación asincrónica.
esperar Se bloquea hasta que se complete la operación asincrónica asociada.
wait_for Se bloquea hasta que se complete la operación asincrónica asociada o hasta que haya transcurrido el tiempo especificado por _Rel_time.
esperar_hasta Se bloquea hasta que se complete la operación asincrónica asociada o hasta que la hora actual supere el valor especificado por _Abs_time.

Operadores públicos

Nombre Descripción
operator std::shared_future Convierte implícitamente el objeto completion_future en un objeto std::shared_future.
operator= Copia el contenido del objeto especificado completion_future en este.

Jerarquía de herencia

completion_future

Requisitos

Encabezado: amprt.h

Namespace: simultaneidad

futuro_de_completamiento

Inicializa una nueva instancia de la clase completion_future.

Sintaxis

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Parámetros

_Other
El completion_future objeto que se va a copiar o mover.

Lista de sobrecargas

Nombre Descripción
completion_future(); Inicializa una nueva instancia de la clase completion_future.
completion_future(const completion_future& _Other); Inicializa una instancia nueva de la clase completion_future usando un constructor de copia.
completion_future(completion_future&& _Other); Inicializa una nueva instancia de la clase completion_future mediante el movimiento de un constructor.

obtener

Espera hasta que se completa la operación asincrónica asociada. Genera la excepción almacenada si se encontró una durante la operación asincrónica.

Sintaxis

void get() const;

operator std::shared_future

Convierte implícitamente el objeto completion_future en un objeto std::shared_future.

Sintaxis

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

Valor devuelto

Un objeto std::shared_future.

operador =

Copia el contenido del objeto especificado completion_future en este.

Sintaxis

completion_future&  operator= (const completion_future& _Other );
completion_future&  operator= (completion_future&& _Other );

Parámetros

_Other
El objeto desde el que se va a copiar.

Valor devuelto

Una referencia a este objeto completion_future.

Lista de sobrecargas

Nombre Descripción
completion_future& operator=(const completion_future& _Other); Copia el contenido del objeto especificado completion_future en este objeto, utilizando una copia profunda.
completion_future& operator=(completion_future&& _Other); Copia el contenido del objeto especificado `completion_future` en este, utilizando una asignación de movimiento.

y luego

Encadena un objeto de función de devolución de llamada al objeto completion_future que se va a ejecutar cuando la operación asincrónica asociada termine su ejecución.

Sintaxis

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

Parámetros

_Functor
Functor de devolución de llamada.

_Func
Objeto de función de devolución de llamada.

to_task

Devuelve un objeto task correspondiente a la operación asincrónica correspondiente.

Sintaxis

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

Valor devuelto

Un objeto task correspondiente a la operación asincrónica asociada.

válido

Obtiene un valor booleano que indica si el objeto está asociado a una operación asincrónica.

Sintaxis

bool valid() const;

Valor devuelto

Es true si el objeto está asociado con una operación asincrónica; de lo contrario, es false.

esperar

Se bloquea hasta que se complete la operación asincrónica asociada.

Sintaxis

void wait() const;

wait_for

Se bloquea hasta que se complete la operación asincrónica asociada o hasta que haya transcurrido el tiempo especificado por _Rel_time.

Sintaxis

template <
    class _Rep,
    class _Period
>
std::future_status::future_status wait_for(
    const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;

Parámetros

_Rep
El tipo aritmético que representa el número de ticks.

_Period
Un std::ratio que representa el número de segundos que transcurren por tick.

_Rel_time
Cantidad máxima de tiempo que se va a esperar a que se complete la operación.

Valor devuelto

Devuelve:

  • std::future_status::deferred si la operación asincrónica asociada no se está ejecutando.

  • std::future_status::ready si la operación asincrónica asociada ha finalizado.

  • std::future_status::timeout si ha pasado el periodo de tiempo especificado.

esperar_hasta

Se bloquea hasta que se complete la operación asincrónica asociada o hasta que la hora actual supere el valor especificado por _Abs_time.

Sintaxis

template <
    class _Clock,
    class _Duration
>
std::future_status::future_status wait_until(
    const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;

Parámetros

_Reloj
Reloj en el que se mide este punto en el tiempo.

_Duración
Intervalo de tiempo desde el inicio de la época de _Clock, después del cual la función se interrumpirá.

_Abs_time
El momento a partir del cual se agotará el tiempo de espera de la función.

Valor devuelto

Devuelve:

  1. std::future_status::deferred si la operación asincrónica asociada no se está ejecutando.

  2. std::future_status::ready si la operación asincrónica asociada ha finalizado.

  3. std::future_status::timeout si ha transcurrido el periodo de tiempo especificado.

~completion_future

Destruye el objeto completion_future.

Sintaxis

~completion_future();

Consulte también

Espacio de nombres Concurrency (C++ AMP)