Поделиться через


Класс cancellation_token

Класс cancellation_token представляет возможность определить, получала ли некоторая операция запрос на отмену. Заданный токен можно связать с task_group, structured_task_group или task для предоставления неявной отмены. Его также можно опрашивать на предмет отмены или зарегистрировать обратный вызов для той ситуации, когда отменяется связанный cancellation_token_source.

Синтаксис

class cancellation_token;

Участники

Открытые конструкторы

Имя Описание
cancellation_token
Деструктор ~cancellation_token

Открытые методы

Имя Описание
deregister_callback Удаляет обратный вызов, ранее зарегистрированный с помощью метода register на основании объекта cancellation_token_registration, возвращенного во время регистрации.
is_cancelable Возвращает значение, указывающее, может ли этот токен быть отменен или нет.
is_canceled Возвращает, true если маркер был отменен.
none Возвращает токен отмены, который никогда не может подвергаться отмене.
register_callback Регистрирует функцию обратного вызова в токене. Если и когда токен отменяется, выполняется обратный вызов. Обратите внимание, что если токен уже отменен в той точке, где вызывается этот метод, обратный вызов будет выполнен немедленно и синхронно.

Открытые операторы

Имя Описание
оператор!=
operator=
operator==

Иерархия наследования

cancellation_token

Требования

Заголовок: pplcancellation_token.h

Пространство имен: concurrency

~cancellation_token

~cancellation_token();

cancellation_token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Параметры

_Src
Cancellation_token для копирования или перемещения.

deregister_callback

Удаляет обратный вызов, ранее зарегистрированный с помощью метода register на основании объекта cancellation_token_registration, возвращенного во время регистрации.

void deregister_callback(const cancellation_token_registration& _Registration) const;

Параметры

_Регистрация
Объект cancellation_token_registration, соответствующий обратному вызову, регистрацию которого требуется отменить. Этот токен должен быть предварительно возвращен из вызова метода register.

is_cancelable

Возвращает значение, указывающее, может ли этот токен быть отменен или нет.

bool is_cancelable() const;

Возвращаемое значение

Индикация того, может ли этот токен быть отменен.

is_canceled

Возвращает, true если маркер был отменен.

bool is_canceled() const;

Возвращаемое значение

Значение true , если маркер был отменен; в противном случае — значение false.

ничего

Возвращает токен отмены, который никогда не может подвергаться отмене.

static cancellation_token none();

Возвращаемое значение

Токен отмены, который невозможно отменить.

оператор!=

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

Параметры

_Src
Объект cancellation_token для сравнения.

Возвращаемое значение

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Параметры

_Src
Назначение cancellation_token .

Возвращаемое значение

operator==

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

Параметры

_Src
Объект cancellation_token для сравнения.

Возвращаемое значение

register_callback

Регистрирует функцию обратного вызова в токене. Если и когда токен отменяется, выполняется обратный вызов. Обратите внимание, что если токен уже отменен в той точке, где вызывается этот метод, обратный вызов будет выполнен немедленно и синхронно.

template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;

Параметры

_Функция
Тип объекта функции, вызываемого при отмене этого cancellation_token.

_Func
Объект функции, вызываемый при отмене этого cancellation_token.

Возвращаемое значение

Объект cancellation_token_registration, который можно использовать в методе deregister для отмены регистрации ранее зарегистрированного обратного вызова и предотвращения его выполнения. Метод вызывает исключение invalid_operation , если он вызывается для cancellation_token объекта, созданного с помощью метода cancellation_token::none .

См. также

Пространство имен concurrency