std::stop_callback<Callback>:: stop_callback
|
template
<
class
C
>
explicit stop_callback ( const std:: stop_token & st, C && cb ) noexcept ( /*see below*/ ) ; |
(1) | (C++20以降) |
|
template
<
class
C
>
explicit stop_callback ( std:: stop_token && st, C && cb ) noexcept ( /*see below*/ ) ; |
(2) | (C++20以降) |
|
stop_callback
(
const
stop_callback
&
)
=
delete
;
|
(3) | (C++20以降) |
|
stop_callback
(
stop_callback
&&
)
=
delete
;
|
(4) | (C++20以降) |
新しい
stop_callback
オブジェクトを構築し、
cb
コールバック関数を指定された
std::stop_token
の関連付けられた停止状態に保存・登録します。これは、関連付けられた
std::stop_source
で停止が要求された場合に後で呼び出すためです。
両方のコンストラクタは、
Callback
と
C
が
constructible_from
コンセプトを満たす場合にのみ、オーバーロード解決に参加します。
std::
constructible_from
<
Callback, C
>
。
Callback
と
C
がコンセプトを満たすが、その意味要件を満たさない場合、動作は未定義です。
パラメータ
| st | - |
この
stop_callback
オブジェクトを登録する対象の
std::stop_token
オブジェクト
|
| cb | - | 停止要求があった場合に呼び出される型 |
例外
stop_callback
オブジェクト内でコンストラクタ初期化する際にスローされる例外。
注記
渡された std::stop_token に対して st. stop_requested ( ) == true の場合、コールバック関数はコンストラクタが戻る前に現在のスレッドで呼び出されます。