25#ifndef THREAD_CTRL_H__
26#define THREAD_CTRL_H__
28#include <condition_variable>
63 std::chrono::milliseconds& elapsed);
73 mutable std::mutex m_mutex;
74 std::condition_variable m_cv;
Thread mixin providing a "stop thread"/"wait until stopped" interface.
void WaitUntilStopped()
Block until thread invokes SignalExit().
bool IsRunning() const
Return true if thread is running.
void SignalExit()
Signal that thread has exited.
virtual ~ThreadCtrl()=default
Destroy the Thread Ctrl object.
bool KeepGoing() const
If true continue thread operation, else exit and invoke SignalExit()
virtual void RequestStop()
Request that thread stops operation.