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 Devolução

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 Devolução

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 Devolução

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 Devolução

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parâmetros

_Src
O cancellation_token para atribuir.

Valor de Devolução

operator==

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

Parâmetros

_Src
O cancellation_token a ser comparado.

Valor de Devolução

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 Devolução

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.

Confira também

Namespace de simultaneidade