[stopsource.inplace] (original) (raw)

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]

namespace std { class inplace_stop_source { public: constexpr 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();constexpr 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 *thishas received a stop request; otherwise, false.

bool request_stop() noexcept;

Postconditions: stop_requested() is true.