| 
    MLIB
    
   | 
 
Wrapper for Windows mutexes. More...
  
Public Member Functions | |
| mutex (const std::string &name=std::string()) | |
| Constructor.  | |
| operator bool () | |
| Check if mutex is free (signaled).   | |
| void | signal () | 
| Signal the mutex.  | |
  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.   | |
Wrapper for Windows mutexes.
Only one thread can acquire the object using a 'wait' function. Any other threads trying to acquire the mutex will be blocked until the object is freed using the 'signal' function.
| mlib::mutex::operator bool | ( | ) | 
Check if mutex is free (signaled).
If the mutex is acquired (i.e. it was free) it is released back immediately.