名前空間
変種

std::stop_callback<Callback>::stop_callback

提供: cppreference.com
 
 
スレッドサポートライブラリ
スレッド
(C++11)
(C++20)
(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++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
(C++11)
 
 
<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 を保存、登録します。

1) 指定されたコールバック関数 cb を用いて、指定された std::stop_token st (コピーされます) のための stop_callback を構築します。
2) 指定されたコールバック関数 cb を用いて、指定された std::stop_token st (ムーブされます) のための stop_callback を構築します。
3-4) stop_callbackCopyConstructible でも MoveConstructible でもありません。

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

引数

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 の場合、コールバック関数はコンストラクタが戻る前に現在のスレッドで呼ばれます。

Morty Proxy This is a proxified and sanitized view of the page, visit original site.