cancellation_token — Klasa
Klasa cancellation_token
reprezentuje możliwość określenia, czy niektóre operacje zostały zażądane do anulowania. Dany token może być skojarzony z elementem task_group
, structured_task_group
lub task
w celu zapewnienia niejawnego anulowania. Można go również sondować pod kątem anulowania lub mieć zarejestrowane wywołanie zwrotne, jeśli i po anulowaniu skojarzonej cancellation_token_source
.
Składnia
class cancellation_token;
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
cancellation_token | |
~cancellation_token Destruktor |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
deregister_callback | Usuwa wywołanie zwrotne wcześniej zarejestrowane za pośrednictwem register metody na cancellation_token_registration podstawie obiektu zwróconego w momencie rejestracji. |
is_cancelable | Zwraca wskazanie, czy ten token można anulować, czy nie. |
is_canceled | Zwraca wartość true , jeśli token został anulowany. |
none | Zwraca token anulowania, który nigdy nie może być objęty anulowaniem. |
register_callback | Rejestruje funkcję wywołania zwrotnego za pomocą tokenu. Jeśli token zostanie anulowany, zostanie wykonane wywołanie zwrotne. Należy pamiętać, że jeśli token został już anulowany w momencie wywołania tej metody, wywołanie zwrotne zostanie wykonane natychmiast i synchronicznie. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
operator!= | |
operator = | |
operator== |
Hierarchia dziedziczenia
cancellation_token
Wymagania
Nagłówek: pplcancellation_token.h
Przestrzeń nazw: współbieżność
~cancellation_token
~cancellation_token();
cancellation_token
cancellation_token(const cancellation_token& _Src);
cancellation_token(cancellation_token&& _Src);
Parametry
_Src
Cancellation_token do skopiowania lub przeniesienia.
deregister_callback
Usuwa wywołanie zwrotne wcześniej zarejestrowane za pośrednictwem register
metody na cancellation_token_registration
podstawie obiektu zwróconego w momencie rejestracji.
void deregister_callback(const cancellation_token_registration& _Registration) const;
Parametry
_Rejestracja
cancellation_token_registration
Obiekt odpowiadający wywołaniu zwrotnemu, który ma zostać wyrejestrowany. Ten token musi zostać wcześniej zwrócony z wywołania metody register
.
is_cancelable
Zwraca wskazanie, czy ten token można anulować, czy nie.
bool is_cancelable() const;
Wartość zwracana
Wskazanie, czy można anulować ten token, czy nie.
is_canceled
Zwraca wartość true
, jeśli token został anulowany.
bool is_canceled() const;
Wartość zwracana
Wartość true
, jeśli token został anulowany; w przeciwnym razie wartość false
.
Brak
Zwraca token anulowania, który nigdy nie może być objęty anulowaniem.
static cancellation_token none();
Wartość zwracana
Token anulowania, którego nie można anulować.
operator!=
bool operator!= (const cancellation_token& _Src) const;
Parametry
_Src
Element cancellation_token
do porównania.
Wartość zwracana
operator =
cancellation_token& operator= (const cancellation_token& _Src);
cancellation_token& operator= (cancellation_token&& _Src);
Parametry
_Src
Element cancellation_token
do przypisania.
Wartość zwracana
operator==
bool operator== (const cancellation_token& _Src) const;
Parametry
_Src
Element cancellation_token
do porównania.
Wartość zwracana
register_callback
Rejestruje funkcję wywołania zwrotnego za pomocą tokenu. Jeśli token zostanie anulowany, zostanie wykonane wywołanie zwrotne. Należy pamiętać, że jeśli token został już anulowany w momencie wywołania tej metody, wywołanie zwrotne zostanie wykonane natychmiast i synchronicznie.
template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;
Parametry
_Funkcja
Typ obiektu funkcji, który zostanie wywołany z powrotem po anulowaniu cancellation_token
.
_Func
Obiekt funkcji, który zostanie wywołany z powrotem po anulowaniu cancellation_token
.
Wartość zwracana
cancellation_token_registration
Obiekt, który można użyć w metodzie deregister
do wyrejestrowania wcześniej zarejestrowanego wywołania zwrotnego i uniemożliwić jego utworzenie. Metoda zgłosi wyjątek invalid_operation , jeśli jest wywoływany w obiekcie utworzonym cancellation_token
przy użyciu metody cancellation_token::none .