Класс 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 .