namespace std { class stop_token { public: // [stoptoken.cons], constructors, copy, and assignment stop_token() noexcept; stop_token(const stop_token&) noexcept; stop_token(stop_token&&) noexcept; stop_token& operator=(const stop_token&) noexcept; stop_token& operator=(stop_token&&) noexcept; ~stop_token(); void swap(stop_token&) noexcept; // [stoptoken.mem], stop handling [[nodiscard]] bool stop_requested() const noexcept; [[nodiscard]] bool stop_possible() const noexcept; [[nodiscard]] friend bool operator==(const stop_token& lhs, const stop_token& rhs) noexcept; friend void swap(stop_token& lhs, stop_token& rhs) noexcept; }; }
stop_token() noexcept;
stop_token(const stop_token& rhs) noexcept;
stop_token(stop_token&& rhs) noexcept;
~stop_token();
stop_token& operator=(const stop_token& rhs) noexcept;
stop_token& operator=(stop_token&& rhs) noexcept;
void swap(stop_token& rhs) noexcept;
[[nodiscard]] bool stop_requested() const noexcept;
[[nodiscard]] bool stop_possible() const noexcept;
[[nodiscard]] bool operator==(const stop_token& lhs, const stop_token& rhs) noexcept;
friend void swap(stop_token& x, stop_token& y) noexcept;