cancellation_token Class
The cancellation_token
class represents the ability to determine whether some operation has been requested to cancel. A given token can be associated with a task_group
, structured_task_group
, or task
to provide implicit cancellation. It can also be polled for cancellation or have a callback registered for if and when the associated cancellation_token_source
is canceled.
Syntax
class cancellation_token;
Members
Public Constructors
Name | Description |
---|---|
cancellation_token | |
~cancellation_token Destructor |
Public Methods
Name | Description |
---|---|
deregister_callback | Removes a callback previously registered via the register method based on the cancellation_token_registration object returned at the time of registration. |
is_cancelable | Returns an indication of whether this token can be canceled or not. |
is_canceled | Returns true if the token has been canceled. |
none | Returns a cancellation token which can never be subject to cancellation. |
register_callback | Registers a callback function with the token. If and when the token is canceled, the callback will be made. Note that if the token is already canceled at the point where this method is called, the callback will be made immediately and synchronously. |
Public Operators
Name | Description |
---|---|
operator!= | |
operator= | |
operator== |
Inheritance Hierarchy
cancellation_token
Requirements
Header: pplcancellation_token.h
Namespace: concurrency
~cancellation_token
~cancellation_token();
cancellation_token
cancellation_token(const cancellation_token& _Src);
cancellation_token(cancellation_token&& _Src);
Parameters
_Src
The cancellation_token to be copied or moved.
deregister_callback
Removes a callback previously registered via the register
method based on the cancellation_token_registration
object returned at the time of registration.
void deregister_callback(const cancellation_token_registration& _Registration) const;
Parameters
_Registration
The cancellation_token_registration
object corresponding to the callback to be deregistered. This token must have been previously returned from a call to the register
method.
is_cancelable
Returns an indication of whether this token can be canceled or not.
bool is_cancelable() const;
Return Value
An indication of whether this token can be canceled or not.
is_canceled
Returns true
if the token has been canceled.
bool is_canceled() const;
Return Value
The value true
if the token has been canceled; otherwise, the value false
.
none
Returns a cancellation token which can never be subject to cancellation.
static cancellation_token none();
Return Value
A cancellation token that cannot be canceled.
operator!=
bool operator!= (const cancellation_token& _Src) const;
Parameters
_Src
The cancellation_token
to compare.
Return Value
operator=
cancellation_token& operator= (const cancellation_token& _Src);
cancellation_token& operator= (cancellation_token&& _Src);
Parameters
_Src
The cancellation_token
to assign.
Return Value
operator==
bool operator== (const cancellation_token& _Src) const;
Parameters
_Src
The cancellation_token
to compare.
Return Value
register_callback
Registers a callback function with the token. If and when the token is canceled, the callback will be made. Note that if the token is already canceled at the point where this method is called, the callback will be made immediately and synchronously.
template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;
Parameters
_Function
The type of the function object that will be called back when this cancellation_token
is canceled.
_Func
The function object that will be called back when this cancellation_token
is canceled.
Return Value
A cancellation_token_registration
object which can be utilized in the deregister
method to deregister a previously registered callback and prevent it from being made. The method will throw an invalid_operation exception if it is called on a cancellation_token
object that was created using the cancellation_token::none method.