[[nodiscard]] bool stop_requested() const noexcept;
概要
停止要求が作成されたかどうかを返す。
戻り値
自身が停止状態を所有していて、その停止状態が停止要求を受け取っている場合はtrue
を返す。それ以外の場合はfalse
を返す。
例外
投げない。
備考
一度stop_requested() == true
となったstop_token
は、自身と停止状態を共有するstop_source
が破棄されてもstop_requested() == true
かつstop_possible() == true
の状態のままになる。
例
#include <cassert>
#include <stop_token>
int main()
{
std::stop_source ss1;
std::stop_source ss2;
std::stop_token st1 = ss1.get_token();
std::stop_token st2 = ss2.get_token();
std::stop_token st3;
assert(st1.stop_requested() == false);
assert(st2.stop_requested() == false);
assert(st3.stop_requested() == false);
// 停止要求を作成する
ss1.request_stop();
assert(st1.stop_requested() == true);
// stop_token に紐づく stop_source を破棄する
ss1 = std::stop_source{};
// 停止状態が停止要求を受け取った場合は、
// その後で stop_source が破棄されても stop_requested() == true のままになる。
assert(st1.stop_requested() == true);
}
出力
バージョン
言語
- C++20
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??