<stop_token>ヘッダは、マルチスレッド処理や非同期処理おける停止要求の状態 停止状態 を扱うクラスを定義する。
stop_token,stop_source,stop_callbackは停止状態を共有所有する。最後に破棄されたオブジェクトが停止状態を自動的に解放する。inplace_stop_sourceは停止状態をメンバとして直接所有する。inplace_stop_tokenとinplace_stop_callbackは停止状態の所有には関与しない。
コンセプト
| 名前 | 説明 | 対応バージョン |
|---|---|---|
stoppable_token |
停止トークン型であることを表す (concept) | C++26 |
unstoppable_token |
停止不可能な停止トークン型であることを表す (concept) | C++26 |
停止トークン
| 名前 | 説明 | 対応バージョン |
|---|---|---|
stop_token |
stop_sourceの停止トークン (class) |
C++20 |
stop_source |
停止状態を共有所有する停止要求インタフェース (class) | C++20 |
stop_callback |
stop_source停止要求に応じて呼び出されるコールバック (class template) |
C++20 |
nostopstate |
停止状態を扱わないstop_source構築用タグ (class) |
C++20 |
never_stop_token |
停止不可能な停止トークン (class) | C++26 |
inplace_stop_token |
inplace_stop_sourceの停止トークン (class) |
C++26 |
inplace_stop_source |
停止状態を直接所有する停止要求インタフェース (class) | C++26 |
inplace_stop_callback |
inplace_stop_source停止要求に応じて呼び出されるコールバック (class template) |
C++26 |
stop_callback_for_t |
対応するコールバック型を取得 (alias template) | C++26 |
バージョン
言語
- C++20
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??