この記事の内容
cancellation_token
クラスは、ある操作の取り消しが要求されたかどうかを判断する機能を表します。 特定のトークンを task_group
、structured_task_group
、または task
に関連付けると、暗黙的な取り消しを指定できます。 関連付けられた cancellation_token_source
が取り消されたときに、取り消すためにポーリングしたり、コールバックを登録したりすることもできます。
class cancellation_token;
名前 | 説明 |
---|---|
deregister_callback | 登録時に返された register オブジェクトに基づく cancellation_token_registration メソッドによって以前に登録されたコールバックを削除します。 |
is_cancelable | このトークンを取り消すことができるかどうかを示す値を返します。 |
is_canceled | トークンが取り消された場合は true を返します。 |
なし | 取り消しの対象とはならないキャンセル トークンを返します。 |
register_callback | コールバック関数をトークンに登録します。 トークンが取り消された場合、コールバックが行われます。 このメソッドが呼び出された時点で既にコールバックが取り消されている場合、コールバックは即座に同期的に行われることに注意してください。 |
名前 | 説明 |
---|---|
operator!= | |
operator= | |
operator== |
cancellation_token
ヘッダー: pplcancellation_token.h
名前空間: concurrency
~cancellation_token();
cancellation_token(const cancellation_token& _Src);
cancellation_token(cancellation_token&& _Src);
_Src
コピーまたは移動される cancellation_token です。
登録時に返された register
オブジェクトに基づく cancellation_token_registration
メソッドによって以前に登録されたコールバックを削除します。
void deregister_callback(const cancellation_token_registration& _Registration) const;
_Registration
登録解除されるコールバックに対応する cancellation_token_registration
オブジェクト。 このトークンは、register
メソッドの呼び出しによって既に返されている必要があります。
このトークンを取り消すことができるかどうかを示す値を返します。
bool is_cancelable() const;
このトークンを取り消すことができるかどうかを示す値。
トークンが取り消された場合は true
を返します。
bool is_canceled() const;
トークンが取り消されている場合は、値 true
。それ以外の場合は、値 false
。
取り消しの対象とはならないキャンセル トークンを返します。
static cancellation_token none();
取り消すことができないキャンセル トークン。
bool operator!= (const cancellation_token& _Src) const;
_Src
比較対象の cancellation_token
。
cancellation_token& operator= (const cancellation_token& _Src);
cancellation_token& operator= (cancellation_token&& _Src);
_Src
割り当てる cancellation_token
。
bool operator== (const cancellation_token& _Src) const;
_Src
比較対象の cancellation_token
。
コールバック関数をトークンに登録します。 トークンが取り消された場合、コールバックが行われます。 このメソッドが呼び出された時点で既にコールバックが取り消されている場合、コールバックは即座に同期的に行われることに注意してください。
template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;
_Function
この cancellation_token
が取り消されるときにコールバックされる関数オブジェクトの型。
_Func
この cancellation_token
が取り消されるときにコールバックされる関数オブジェクト。
cancellation_token_registration
メソッドで利用できる deregister
オブジェクト。その利用目的は、以前に登録されたコールバックの登録を解除し、コールバックが行われないようにすることです。 このメソッドが、cancellation_token::none メソッドを使用して作成された cancellation_token
オブジェクトで呼び出される場合、invalid_operation 例外がスローされます。