| 
    MLIB
    
   | 
 
Events have only two states: signaled and not signaled. More...
  
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.  | |
| syncbase & | operator= (const syncbase &rhs) | 
| Assignment operator.  | |
| syncbase & | operator= (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.   | |
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.