- stop_token[meta header]
- std[meta namespace]
- stop_token[meta class]
- function[meta id-type]
- cpp20[meta cpp]
[[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);
}- stop_requested()[color ff0000]
- std::stop_token[link ../stop_token.md]
- std::stop_source[link ../stop_source.md]
- request_stop()[link ../stop_source/request_stop.md]
- get_token()[link ../stop_source/get_token.md]
- C++20
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??