Partager via


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.

Voir aussi

accès concurrentiel Namespace