cancellation_token, classe
La classe cancellation_token
représente la capacité à déterminer si l'annulation d'une opération a été demandée. Un jeton donné peut être associé à un objet task_group
, structured_task_group
ou task
pour entraîner une annulation implicite. Il peut également être sondé à la recherche d'une annulation ou comporter un rappel enregistré en cas d'annulation de la classe cancellation_token_source
associée.
Syntaxe
class cancellation_token;
Membres
Constructeurs publics
Nom | Description |
---|---|
cancellation_token | |
~cancellation_token Destructeur |
Méthodes publiques
Nom | Description |
---|---|
deregister_callback | Supprime un rappel précédemment enregistré à l'aide de la méthode register basée sur l'objet cancellation_token_registration retourné au moment de l'enregistrement. |
is_cancelable | Indique si ce jeton peut être annulé ou non. |
is_canceled | Retourne true si le jeton a été annulé. |
aucune | Retourne un jeton d'annulation qui ne pourra jamais faire l'objet d'une annulation. |
register_callback | Enregistre une fonction de rappel avec le jeton. Le rappel est effectué si et lorsque le jeton est annulé. Notez que si le jeton est déjà annulé lorsque cette méthode est appelée, le rappel est effectué immédiatement et de manière synchrone. |
Opérateurs publics
Nom | Description |
---|---|
operator!= | |
operator= | |
operator== |
Hiérarchie d'héritage
cancellation_token
Spécifications
En-tête : pplcancellation_token.h
Espace de noms : concurrency
~cancellation_token
~cancellation_token();
cancellation_token
cancellation_token(const cancellation_token& _Src);
cancellation_token(cancellation_token&& _Src);
Paramètres
_Src
Cancellation_token à copier ou déplacer.
deregister_callback
Supprime un rappel précédemment enregistré à l'aide de la méthode register
basée sur l'objet cancellation_token_registration
retourné au moment de l'enregistrement.
void deregister_callback(const cancellation_token_registration& _Registration) const;
Paramètres
_Inscription
Objet cancellation_token_registration
correspondant au rappel dont l'enregistrement doit être annulé. Ce jeton doit avoir été précédemment retourné par un appel à la méthode register
.
is_cancelable
Indique si ce jeton peut être annulé ou non.
bool is_cancelable() const;
Valeur de retour
Indique si ce jeton peut être annulé ou non.
is_canceled
Retourne true
si le jeton a été annulé.
bool is_canceled() const;
Valeur de retour
Valeur true
si le jeton a été annulé ; sinon, la valeur false
.
Aucune
Retourne un jeton d'annulation qui ne pourra jamais faire l'objet d'une annulation.
static cancellation_token none();
Valeur de retour
Jeton d'annulation qui ne peut pas être annulé.
operator!=
bool operator!= (const cancellation_token& _Src) const;
Paramètres
_Src
cancellation_token
à comparer.
Valeur de retour
opérateur =
cancellation_token& operator= (const cancellation_token& _Src);
cancellation_token& operator= (cancellation_token&& _Src);
Paramètres
_Src
À cancellation_token
attribuer.
Valeur de retour
operator==
bool operator== (const cancellation_token& _Src) const;
Paramètres
_Src
cancellation_token
à comparer.
Valeur de retour
register_callback
Enregistre une fonction de rappel avec le jeton. Le rappel est effectué si et lorsque le jeton est annulé. Notez que si le jeton est déjà annulé lorsque cette méthode est appelée, le rappel est effectué immédiatement et de manière synchrone.
template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;
Paramètres
_Fonction
Type de l'objet de fonction qui est rappelé lorsque cancellation_token
est annulé.
_Func
Objet de fonction qui est rappelé lorsque cancellation_token
est annulé.
Valeur de retour
Objet cancellation_token_registration
qui peut être utilisé dans la méthode deregister
pour annuler l'enregistrement d'un rappel précédemment enregistré et l'empêcher d'être effectué. La méthode lève une exception invalid_operation si elle est appelée sur un cancellation_token
objet créé à l’aide de la méthode cancellation_token ::none.