Go to the documentation of this file.
8 #ifndef RAD_STOP_TOKEN_HPP
9 #define RAD_STOP_TOKEN_HPP
45 std::atomic<
unsigned> m_num_sources;
47 std::atomic<
unsigned> m_num_tokens;
49 std::atomic<
bool> m_stop_requested;
90 [[nodiscard]]
bool StopPossible() const noexcept;
95 bool operator==(
StopToken const& rhs) const noexcept;
96 bool operator!=(
StopToken const& rhs) const noexcept;
124 bool operator==(
StopSource const& rhs) const noexcept;
125 bool operator!=(
StopSource const& rhs) const noexcept;
136 [[nodiscard]]
bool StopPossible() const noexcept;
141 [[nodiscard]]
StopToken GetToken() const noexcept;
162 #endif // #define RAD_STOP_TOKEN_HPP
Definition: stopToken.hpp:23
Definition: stopToken.hpp:62
unsigned GetNumSources() const noexcept
Definition: stopToken.cpp:25
void IncTokens() noexcept
Definition: stopToken.cpp:17
Definition: stopToken.hpp:112
bool RequestStop() noexcept
Definition: stopToken.cpp:37
StopSource(StopSource &&) noexcept=default
StopState() noexcept=default
Definition: actionCallback.hpp:21
StopToken() noexcept=default
void IncSources() noexcept
Definition: stopToken.cpp:9
void DecSources() noexcept
Definition: stopToken.cpp:13
Definition: errors.hpp:58
void DecTokens() noexcept
Definition: stopToken.cpp:21
bool StopRequested() const noexcept
Definition: stopToken.cpp:33
unsigned GetNumTokens() const noexcept
Definition: stopToken.cpp:29