Compartir a través de


cancellation_token (clase)

La clase cancellation_token representa la capacidad para determinar si se ha solicitado la cancelación de alguna operación. Se puede asociar un determinado símbolo con un objeto task_group, structured_task_group o task para proporcionar una cancelación implícita. Este token también puede sondearse para la cancelación o puede hacer que se registre una devolución únicamente si se cancela el objeto cancellation_token_source asociado.

Sintaxis

class cancellation_token;

Miembros

Constructores públicos

Nombre Descripción
cancellation_token
~cancellation_token Destructor

Métodos públicos

Nombre Descripción
deregister_callback Quita una devolución de llamada registrada anteriormente mediante el método register basándose en el objeto cancellation_token_registration devuelto en el momento del registro.
is_cancelable Devuelve una indicación de si este token se puede cancelar o no.
is_canceled Devuelve true si el token se ha cancelado.
none Devuelve un token de cancelación que nunca puede estar sujeto a la cancelación.
register_callback Registra una función de devolución de llamada con el token. La devolución de llamada se realizará únicamente si se cancela el token. Observe que si el token ya se canceló en el punto en el que se llama a este método, la devolución de llamada se realizará inmediatamente y de forma sincrónica.

Operadores públicos

Nombre Descripción
operator!=
operator=
operator==

Jerarquía de herencia

cancellation_token

Requisitos

Encabezado: pplcancellation_token.h

Espacio de nombres: simultaneidad

~cancellation_token

~cancellation_token();

cancellation_token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Parámetros

_Src
El cancellation_token que se va a copiar o mover.

deregister_callback

Quita una devolución de llamada registrada anteriormente mediante el método register basándose en el objeto cancellation_token_registration devuelto en el momento del registro.

void deregister_callback(const cancellation_token_registration& _Registration) const;

Parámetros

_Registration
Objeto cancellation_token_registration que se corresponde con la devolución de llamada cuyo registro se va a cancelar. Este símbolo se debe haber devuelto anteriormente desde una llamada al método register.

is_cancelable

Devuelve una indicación de si este token se puede cancelar o no.

bool is_cancelable() const;

Valor devuelto

Indicación de si este token se puede cancelar o no.

is_canceled

Devuelve true si el token se ha cancelado.

bool is_canceled() const;

Valor devuelto

El valor true si el token se ha cancelado; de lo contrario, el valor false.

None

Devuelve un token de cancelación que nunca puede estar sujeto a la cancelación.

static cancellation_token none();

Valor devuelto

Token de cancelación que no puede cancelarse.

operator!=

bool operator!= (const cancellation_token& _Src) const;

Parámetros

_Src
cancellation_token que se va comparar.

Valor devuelto

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parámetros

_Src
El cancellation_token a asignar.

Valor devuelto

operator==

bool operator== (const cancellation_token& _Src) const;

Parámetros

_Src
cancellation_token que se va comparar.

Valor devuelto

register_callback

Registra una función de devolución de llamada con el token. La devolución de llamada se realizará únicamente si se cancela el token. Observe que si el token ya se canceló en el punto en el que se llama a este método, la devolución de llamada se realizará inmediatamente y de forma sincrónica.

template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;

Parámetros

_Function
Tipo del objeto de función que se volverá a llamar cuando se cancele este objeto cancellation_token.

_Func
Objeto de función que se volverá a llamar cuando se cancele este objeto cancellation_token.

Valor devuelto

Objeto cancellation_token_registration que se puede utilizar en el método deregister para cancelar el registro de una devolución de llamada previamente registrada y evitar que esta se realice. El método producirá una excepción de invalid_operation si se llama en un objeto cancellation_token creado con el método cancellation_token::none.

Consulte también

concurrency (espacio de nombres)