std::stop_source
提供: cppreference.com
ヘッダ <stop_token> で定義 | ||
class stop_source; | (C++20以上) | |
stop_source
クラスは、 std::jthread
のキャンセルなどのために、停止要求を発行する手段を提供します。 1つの stop_source
オブジェクトに対して行われた停止要求は同じ停止要求に紐付くすべての stop_source
および std::stop_token
に対して可視になります。 紐付く std::stop_token
に対して登録されたあらゆる std::stop_callback
が呼び出され、紐付く std::stop_token
で待機しているあらゆる std::condition_variable_any オブジェクトが起床されます。
いったん停止が要求されると、それを取り下げることはできません。 さらなる停止要求は効果を持ちません。
目次 |
[編集]メンバ関数
新しい stop_source オブジェクトを構築します (パブリックメンバ関数) | |
stop_source オブジェクトを破棄します (パブリックメンバ関数) | |
stop_source オブジェクトを代入します (パブリックメンバ関数) | |
変更 | |
紐付いた停止状態 (もしあれば) に対して停止要求を行います (パブリックメンバ関数) | |
2つの stop_source オブジェクトを入れ替えます (パブリックメンバ関数) | |
観察 | |
紐付いた停止状態に対する stop_token を返します (パブリックメンバ関数) | |
紐付いた停止状態が停止要求されたかどうか調べます (パブリックメンバ関数) | |
紐付いた停止状態が停止要求できるかどうか調べます (パブリックメンバ関数) |
[編集]非メンバ関数
2つの std::stop_source オブジェクトを比較します (関数) | |
(C++20) | std::swap アルゴリズムの特殊化 (関数) |
[編集]ヘルパー定数
(C++20) | stop_source のコンストラクタで使用するための std::nostopstate_t のインスタンス (定数) |
[編集]ヘルパークラス
(C++20) | stop_source のコンストラクタで使用するためのプレースホルダ型 (クラス) |
[編集]ノート
std::jthread
のキャンセルの目的のためには、 stop_source
オブジェクトは std::jthread
オブジェクトから get_stop_source() を用いて取得するべきです。 または、 std::jthread
に対して request_stop() を用いて直接停止を要求するべきです。 これは std::jthread
の起動関数 (すなわちそのスレッド上で実行される関数) の引数に渡されるのと同じ紐付いた停止状態を使用します。
その他の使用方法のためには、デフォルトコンストラクタを用いて stop_source
を構築できます。 これは新しい停止状態を作成します。
[編集]例
This section is incomplete Reason: no example |