Classe cancellation_token
A classe cancellation_token
representa a capacidade de determinar se alguma operação foi solicitada para cancelar. Um determinado token pode ser associado a um task_group
, structured_task_group
ou task
para fornecer cancelamento implícito. Ele também pode ser sondado para cancelamento ou ter um retorno de chamada registrado para se e quando o cancellation_token_source
associado for cancelado.
Sintaxe
class cancellation_token;
Membros
Construtores públicos
Nome | Descrição |
---|---|
cancellation_token | |
Destruidor ~cancellation_token |
Métodos públicos
Nome | Descrição |
---|---|
deregister_callback | Remove um retorno de chamada registrado anteriormente por meio do método register com base no objeto cancellation_token_registration retornado no momento do registro. |
is_cancelable | Retorna uma indicação de se esse token pode ser cancelado ou não. |
is_canceled | Retorna true se o token foi cancelado. |
none | Retorna um token de cancelamento que nunca pode estar sujeito a cancelamento. |
register_callback | Registra uma função de retorno de chamada com o token. Se e quando o token for cancelado, o retorno de chamada será feito. Observe que, se o token já estiver cancelado no ponto em que esse método é chamado, o retorno de chamada será feito de maneira imediata e síncrona. |
Operadores públicos
Nome | Descrição |
---|---|
operator!= | |
operator= | |
operator== |
Hierarquia de herança
cancellation_token
Requisitos
Cabeçalho: pplcancellation_token.h
Namespace: concurrency
~ cancellation_token
~cancellation_token();
cancellation_token
cancellation_token(const cancellation_token& _Src);
cancellation_token(cancellation_token&& _Src);
Parâmetros
_Src
O cancellation_token a ser copiado ou movido.
deregister_callback
Remove um retorno de chamada registrado anteriormente por meio do método register
com base no objeto cancellation_token_registration
retornado no momento do registro.
void deregister_callback(const cancellation_token_registration& _Registration) const;
Parâmetros
_Registration
O objeto cancellation_token_registration
correspondente ao retorno de chamada ter o registro cancelado. Esse token deve ter sido retornado anteriormente de uma chamada para o método register
.
is_cancelable
Retorna uma indicação de se esse token pode ser cancelado ou não.
bool is_cancelable() const;
Valor de retorno
Uma indicação de se esse token pode ser cancelado ou não.
is_canceled
Retorna true
se o token foi cancelado.
bool is_canceled() const;
Valor de retorno
O valor true
se o token tiver sido cancelado; caso contrário, o valor false
.
nenhum
Retorna um token de cancelamento que nunca pode estar sujeito a cancelamento.
static cancellation_token none();
Valor de retorno
Um token de cancelamento que não pode ser cancelado.
operator!=
bool operator!= (const cancellation_token& _Src) const;
Parâmetros
_Src
O cancellation_token
a ser comparado.
Valor de retorno
operator=
cancellation_token& operator= (const cancellation_token& _Src);
cancellation_token& operator= (cancellation_token&& _Src);
Parâmetros
_Src
O cancellation_token
para atribuir.
Valor de retorno
operator==
bool operator== (const cancellation_token& _Src) const;
Parâmetros
_Src
O cancellation_token
a ser comparado.
Valor de retorno
register_callback
Registra uma função de retorno de chamada com o token. Se e quando o token for cancelado, o retorno de chamada será feito. Observe que, se o token já estiver cancelado no ponto em que esse método é chamado, o retorno de chamada será feito de maneira imediata e síncrona.
template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;
Parâmetros
_Function
O tipo do objeto de função que será chamado de volta quando este cancellation_token
for cancelado.
_Func
O objeto de função que será chamado de volta quando este cancellation_token
for cancelado.
Valor de retorno
Um objeto cancellation_token_registration
que pode ser utilizado no método deregister
para cancelar o registro de um retorno de chamada registrado anteriormente e impedir que ele seja feito. O método gerará uma exceção invalid_operation se for chamado em um objeto cancellation_token
criado usando o método cancellation_token::none.