Namespaces
Variants

std::stop_callback<Callback>:: stop_callback

From ja.cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
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 で停止が要求された場合に後で呼び出すためです。

1) 指定された st std::stop_token (コピー)と指定された呼び出し可能なコールバック関数 cb に対して stop_callback を構築します。
2) 指定された st std::stop_token (ムーブ済み)に対して、指定された呼び出し可能なコールバック関数 cb を持つ stop_callback を構築します。
3,4) stop_callback は CopyConstructible でも MoveConstructible でもない。

両方のコンストラクタは、 Callback と C が constructible_from コンセプトを満たす場合にのみ、オーバーロード解決に参加します。 std:: constructible_from < Callback, C > 。 Callback と C がコンセプトを満たすが、その意味要件を満たさない場合、動作は未定義です。

パラメータ

st - この stop_callback オブジェクトを登録する対象の std::stop_token オブジェクト
cb - 停止要求があった場合に呼び出される型

例外

1,2)
noexcept 指定:
noexcept ( std:: is_nothrow_constructible_v < Callback, C > )
与えられたコールバックを stop_callback オブジェクト内でコンストラクタ初期化する際にスローされる例外。

注記

渡された std::stop_token に対して st. stop_requested ( ) == true の場合、コールバック関数はコンストラクタが戻る前に現在のスレッドで呼び出されます。