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 .