名前空間
変種
操作

std::stop_source

提供: cppreference.com
< cpp‎ | thread
 
 
スレッドサポートライブラリ
スレッド
(C++11)
(C++20)
(C++20)
stop_source
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
相互排他
汎用ロック管理
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
 
 
ヘッダ <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 オブジェクトを構築します
(パブリックメンバ関数)[edit]
stop_source オブジェクトを破棄します
(パブリックメンバ関数)[edit]
stop_source オブジェクトを代入します
(パブリックメンバ関数)[edit]
変更
紐付いた停止状態 (もしあれば) に対して停止要求を行います
(パブリックメンバ関数)[edit]
2つの stop_source オブジェクトを入れ替えます
(パブリックメンバ関数)[edit]
観察
紐付いた停止状態に対する stop_token を返します
(パブリックメンバ関数)[edit]
紐付いた停止状態が停止要求されたかどうか調べます
(パブリックメンバ関数)[edit]
紐付いた停止状態が停止要求できるかどうか調べます
(パブリックメンバ関数)[edit]

[編集]非メンバ関数

2つの std::stop_source オブジェクトを比較します
(関数)[edit]
std::swap アルゴリズムの特殊化
(関数)[edit]

[編集]ヘルパー定数

stop_source のコンストラクタで使用するための std::nostopstate_t のインスタンス
(定数)[edit]

[編集]ヘルパークラス

stop_source のコンストラクタで使用するためのプレースホルダ型
(クラス)[edit]

[編集]ノート

std::jthread のキャンセルの目的のためには、 stop_source オブジェクトは std::jthread オブジェクトから get_stop_source() を用いて取得するべきです。 または、 std::jthread に対して request_stop() を用いて直接停止を要求するべきです。 これは std::jthread の起動関数 (すなわちそのスレッド上で実行される関数) の引数に渡されるのと同じ紐付いた停止状態を使用します。

その他の使用方法のためには、デフォルトコンストラクタを用いて stop_source を構築できます。 これは新しい停止状態を作成します。

[編集]

close