GRUTinizer
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
StoppableThread Class Reference

#include <StoppableThread.h>

Inheritance diagram for StoppableThread:
TDataLoop THistogramLoop TRootInputLoop TTerminalLoop TUnpackLoop TWriteLoop

Public Member Functions

 StoppableThread ()
virtual ~StoppableThread ()
void Resume ()
void Pause ()
void Stop ()
bool IsPaused ()
bool IsRunning ()
void Join ()
virtual std::string Status ()

Protected Member Functions

virtual bool Iteration ()=0

Private Member Functions

 StoppableThread (const StoppableThread &other)
StoppableThreadoperator= (const StoppableThread &other)
void Loop ()
 ClassDef (StoppableThread, 0)

Private Attributes

std::thread thread
std::atomic_bool running
std::atomic_bool force_stop
std::atomic_bool paused
std::condition_variable paused_wait
std::mutex pause_mutex

Constructor & Destructor Documentation

StoppableThread::StoppableThread ( )
StoppableThread::~StoppableThread ( )
virtual
StoppableThread::StoppableThread ( const StoppableThread other)
inlineprivate

Member Function Documentation

StoppableThread::ClassDef ( StoppableThread  ,
 
)
private
bool StoppableThread::IsPaused ( )
bool StoppableThread::IsRunning ( )
virtual bool StoppableThread::Iteration ( )
protectedpure virtual
void StoppableThread::Join ( )
void StoppableThread::Loop ( )
private
StoppableThread& StoppableThread::operator= ( const StoppableThread other)
inlineprivate
void StoppableThread::Pause ( )
void StoppableThread::Resume ( )
virtual std::string StoppableThread::Status ( )
inlinevirtual

Reimplemented in TDataLoop, and TRootInputLoop.

void StoppableThread::Stop ( )

Member Data Documentation

std::atomic_bool StoppableThread::force_stop
private
std::mutex StoppableThread::pause_mutex
private
std::atomic_bool StoppableThread::paused
private
std::condition_variable StoppableThread::paused_wait
private
std::atomic_bool StoppableThread::running
private
std::thread StoppableThread::thread
private

The documentation for this class was generated from the following files: