3.1 KiB
[stopsource.inplace]
32 Concurrency support library [thread]
32.3 Stop tokens [thread.stoptoken]
32.3.9 Class inplace_stop_source [stopsource.inplace]
32.3.9.1 General [stopsource.inplace.general]
The class inplace_stop_source models stoppable-source.
namespace std {class inplace_stop_source {public:// [stopsource.inplace.cons], constructorsconstexpr inplace_stop_source() noexcept;
inplace_stop_source(inplace_stop_source&&) = delete; inplace_stop_source(const inplace_stop_source&) = delete; inplace_stop_source& operator=(inplace_stop_source&&) = delete; inplace_stop_source& operator=(const inplace_stop_source&) = delete; ~inplace_stop_source(); // [stopsource.inplace.mem], stop handlingconstexpr inplace_stop_token get_token() const noexcept; static constexpr bool stop_possible() noexcept { return true; }bool stop_requested() const noexcept; bool request_stop() noexcept; };}
32.3.9.2 Constructors [stopsource.inplace.cons]
constexpr inplace_stop_source() noexcept;
Effects: Initializes a new stop state inside *this.
Postconditions: stop_requested() is false.
32.3.9.3 Member functions [stopsource.inplace.mem]
constexpr inplace_stop_token get_token() const noexcept;
Returns: A new associated inplace_stop_token object whose stop-source member is equal to this.
bool stop_requested() const noexcept;
Returns: true if the stop state inside *this has received a stop request; otherwise, false.
bool request_stop() noexcept;
Effects: Executes a stop request operation ([stoptoken.concepts]).
Postconditions: stop_requested() is true.