Condividi tramite


Classe cancellation_token

La classe cancellation_token rappresenta la possibilità di determinare se è stato richiesto l'annullamento di una determinata operazione. Un token specificato può essere associato a task_group, structured_task_group o a task per consentire l'annullamento implicito. Può inoltre essere sottoposto a polling per l'annullamento o disporre di un callback registrato se e quando l'oggetto cancellation_token_source associato viene annullato.

Sintassi

class cancellation_token;

Membri

Costruttori pubblici

Nome Descrizione
cancellation_token
Distruttore ~cancellation_token

Metodi pubblici

Nome Descrizione
deregister_callback Rimuove un callback registrato in precedenza tramite il metodo register in base all'oggetto cancellation_token_registration restituito al momento della registrazione.
is_cancelable Restituisce un'indicazione sull'eventuale possibilità di annullamento di questo token.
is_canceled Restituisce true se il token è stato annullato.
none Restituisce un token di annullamento che non può mai essere soggetto all'annullamento.
register_callback Registra una funzione di callback con il token. Il callback verrà eseguito se e quando il token viene annullato. Si noti che se il token è già stato annullato nel punto in cui viene chiamato questo metodo, il callback verrà eseguito immediatamente e in modo sincrono.

Operatori pubblici

Nome Descrizione
operator!=
operator=
operator==

Gerarchia di ereditarietà

cancellation_token

Requisiti

Intestazione: pplcancellation_token.h

Spazio dei nomi: Concurrency

~cancellation_token

~cancellation_token();

cancellation_token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Parametri

_Src
Cancellation_token da copiare o spostare.

deregister_callback

Rimuove un callback registrato in precedenza tramite il metodo register in base all'oggetto cancellation_token_registration restituito al momento della registrazione.

void deregister_callback(const cancellation_token_registration& _Registration) const;

Parametri

_Registrazione
L'oggetto cancellation_token_registration che corrisponde al callback di cui annullare la registrazione. Questo token deve essere stato restituito precedentemente da una chiamata al metodo register.

is_cancelable

Restituisce un'indicazione sull'eventuale possibilità di annullamento di questo token.

bool is_cancelable() const;

Valore restituito

Indicazione che segnala se il token può essere annullato o meno.

is_canceled

Restituisce true se il token è stato annullato.

bool is_canceled() const;

Valore restituito

Valore true se il token è stato annullato; in caso contrario, il valore false.

Nessuno

Restituisce un token di annullamento che non può mai essere soggetto all'annullamento.

static cancellation_token none();

Valore restituito

Token di annullamento che non può essere annullato.

operator!=

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

Parametri

_Src
Oggetto cancellation_token da confrontare.

Valore restituito

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parametri

_Src
Oggetto cancellation_token da assegnare.

Valore restituito

operator==

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

Parametri

_Src
Oggetto cancellation_token da confrontare.

Valore restituito

register_callback

Registra una funzione di callback con il token. Il callback verrà eseguito se e quando il token viene annullato. Si noti che se il token è già stato annullato nel punto in cui viene chiamato questo metodo, il callback verrà eseguito immediatamente e in modo sincrono.

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

Parametri

_Funzione
Tipo dell'oggetto funzione che verrà richiamato quando cancellation_token viene annullato.

_Func
Oggetto funzione che verrà richiamato quando cancellation_token viene annullato.

Valore restituito

Oggetto cancellation_token_registration che può essere utilizzato nel metodo deregister per annullare la registrazione di un callback registrato in precedenza ed evitare che venga eseguito. Il metodo genererà un'eccezione invalid_operation se viene chiamata su un cancellation_token oggetto creato usando il metodo cancellation_token::none .

Vedi anche

Spazio dei nomi concurrency