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 Constructor
cancellation_token::~cancellation_token Destructor

Public Methods

Name Description
cancellation_token::deregister_callback Method Removes a callback previously registered via the register method based on the cancellation_token_registration object returned at the time of registration.
cancellation_token::is_cancelable Method Returns an indication of whether this token can be canceled or not.
cancellation_token::is_canceled Method Returns true if the token has been canceled.
cancellation_token::none Method Returns a cancellation token which can never be subject to cancellation.
cancellation_token::register_callback Method 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
cancellation_token::operator!= Operator
cancellation_token::operator= Operator
cancellation_token::operator== Operator

Inheritance Hierarchy

cancellation_token

Requirements

Header: pplcancellation_token.h

Namespace: concurrency

cancellation_token::~cancellation_token Destructor

~cancellation_token();

cancellation_token::cancellation_token Constructor

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Parameters

_Src

cancellation_token::deregister_callback Method

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.

cancellation_token::is_cancelable Method

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.

cancellation_token::is_canceled Method

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.

cancellation_token::none Method

Returns a cancellation token which can never be subject to cancellation.

static cancellation_token none();

Return Value

A cancellation token that cannot be canceled.

cancellation_token::operator!= Operator

bool operator!= (const cancellation_token& _Src) const;

Parameters

_Src

Return Value

cancellation_token::operator= Operator

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parameters

_Src

Return Value

cancellation_token::operator== Operator

bool operator== (const cancellation_token& _Src) const;

Parameters

_Src

Return Value

cancellation_token::register_callback Method

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.

See Also

concurrency Namespace