cpp / latest / thread / stop_token / stop_possible.html /

std::stop_token::stop_possible

[[nodiscard]] bool stop_possible() const noexcept;
(since C++20)

Checks if the stop_token object has associated stop-state, and that state either has already had a stop requested or it has associated std::stop_source object(s).

A default constructed stop_token has no associated stop-state, and thus cannot be stopped; the associated stop-state for which no std::stop_source object(s) exist can also not be stopped if such a request has not already been made.

Parameters

(none).

Return value

false if the stop_token object has no associated stop-state, or it did not yet receive a stop request and there are no associated std::stop_source object(s); true otherwise.

Notes

If the stop_token object has associated stop-state and a stop request has already been made, this function still returns true.

If the stop_token object has associated stop-state from a std::jthread—for example, the stop_token was retrieved by invoking get_stop_token() on a std::jthread object—then this function always returns true. A std::jthread always has an internal std::stop_source object, even if the thread's invoking function does not check it.

Example

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/stop_token/stop_possible