MLIB
Loading...
Searching...
No Matches
mlib::event Class Reference

Events have only two states: signaled and not signaled. More...

Inheritance diagram for mlib::event:
mlib::syncbase mlib::auto_event mlib::manual_event

Public Member Functions

 event (bool manual, bool signaled=false, const std::string &name=std::string())
 Constructor for event objects.
 
void signal ()
 Set event to signaled state.
 
void pulse ()
 Pulse event so that only one waiting thread is released.
 
void reset ()
 Set event to non-signaled state.
 
- Public Member Functions inherited from mlib::syncbase
 syncbase ()
 Default constructor.
 
 syncbase (const syncbase &e)
 Copy constructor.
 
 syncbase (syncbase &&e) noexcept
 Move constructor.
 
virtual ~syncbase ()
 Destructor.
 
syncbaseoperator= (const syncbase &rhs)
 Assignment operator.
 
syncbaseoperator= (syncbase &&rhs) noexcept
 Move assignment operator.
 
int operator== (const syncbase &rhs) const
 Equality operator.
 
virtual void wait ()
 Wait for object to become signaled.
 
virtual DWORD wait (DWORD limit_msec)
 Wait a number of milliseconds for the object to become signaled.
 
virtual DWORD wait (std::chrono::milliseconds limit)
 Wait a number of milliseconds for the object to become signaled.
 
virtual DWORD wait_alertable (DWORD limit_msec=INFINITE)
 
virtual DWORD wait_msg (DWORD limit_msec=INFINITE, DWORD mask=QS_ALLINPUT)
 Wait for object to become signaled or a message to be queued.
 
 operator bool ()
 Check if object is signaled.
 
virtual bool is_signaled ()
 Try to wait on the object.
 
HANDLE handle () const
 Return OS handle of this object.
 
virtual const std::string & name () const
 Return object's name.
 

Additional Inherited Members

- Protected Member Functions inherited from mlib::syncbase
 syncbase (const std::string &name)
 Protected constructor.
 
void set_handle (HANDLE h)
 Change object's handle. Closes the previous one.
 
virtual void name (const std::string &nam)
 Change object's name.
 

Detailed Description

Events have only two states: signaled and not signaled.

An automatic event is set by signal and reset the release of any waiting thread. A manual event has to be explicitly reset. When an event is signaled all waiting threads are released. To release only one thread use 'pulse' function.


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