- stop_token[meta header]
- std[meta namespace]
- stop_source[meta class]
- function[meta id-type]
- cpp20[meta cpp]
[[nodiscard]]
stop_token get_token() const noexcept; // (1) C++20
stop_token get_token() const noexcept; // (1) C++26
自身と停止状態を共有するstop_token
を構築して返す。
stop_possible()
==
false
のときは、デフォルト構築したstop_token
を返す。それ以外の場合は、自身と停止状態を共有するstop_token
を構築して返す。
投げない。
#include <cassert>
#include <stop_token>
int main()
{
std::stop_source ss1;
std::stop_source ss2(std::nostopstate);
std::stop_token st1 = ss1.get_token();
std::stop_token st2 = ss2.get_token();
assert(st1.stop_possible() == true);
assert(st2.stop_possible() == false);
}
- get_token()[color ff0000]
- std::stop_token[link ../stop_token.md]
- std::stop_source[link ../stop_source.md]
- std::nostopstate[link ../nostopstate.md]
- stop_possible()[link ../stop_token/stop_requested.md]
- C++20
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??
- P2422R1 Remove
nodiscard
annotations from the standard library specification- C++26で
[[nodiscard]]
指定が削除された
- C++26で