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.