std::stop_callback<Callback>::stop_callback
提供: cppreference.com
<tbody>
</tbody>
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 オブジェクトを構築し、指定された std::stop_token に紐付く停止状態に、紐付く std::stop_source に対して停止要求された場合に呼ばれるように、コールバック関数 cb を保存、登録します。
どちらもコンストラクタも、 Callback と C が std::constructible_from<Callback, C> の constructible_from を満たす場合にのみ、オーバーロード解決に参加します。 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 の場合、コールバック関数はコンストラクタが戻る前に現在のスレッドで呼ばれます。