This class is a condition variable that can be placed in shared memory or memory mapped files.  
 More...
#include <interprocess_condition_any.hpp>
 | 
|   | interprocess_condition_any () | 
|   | Constructs a interprocess_condition_any. On error throws interprocess_exception.  More...
  | 
|   | 
|   | ~interprocess_condition_any () | 
|   | Destroys *this liberating system resources.  More...
  | 
|   | 
| void  | notify_one () | 
|   | If there is a thread waiting on *this, change that thread's state to ready.  More...
  | 
|   | 
| void  | notify_all () | 
|   | Change the state of all threads waiting on *this to ready.  More...
  | 
|   | 
| template<typename L >  | 
| void  | wait (L &lock) | 
|   | Releases the lock on the interprocess_mutex object associated with lock, blocks the current thread of execution until readied by a call to this->notify_one() or this->notify_all(), and then reacquires the lock.  More...
  | 
|   | 
| template<typename L , typename Pr >  | 
| void  | wait (L &lock, Pr pred) | 
|   | The same as: while (!pred()) wait(lock)  More...
  | 
|   | 
| template<typename L >  | 
| bool  | timed_wait (L &lock, const boost::posix_time::ptime &abs_time) | 
|   | Releases the lock on the interprocess_mutex object associated with lock, blocks the current thread of execution until readied by a call to this->notify_one() or this->notify_all(), or until time abs_time is reached, and then reacquires the lock.  More...
  | 
|   | 
| template<typename L , typename Pr >  | 
| bool  | timed_wait (L &lock, const boost::posix_time::ptime &abs_time, Pr pred) | 
|   | The same as: while (!pred()) { if (!timed_wait(lock, abs_time)) return pred(); } return true;.  More...
  | 
|   | 
This class is a condition variable that can be placed in shared memory or memory mapped files. 
The interprocess_condition_any class is a generalization of interprocess_condition. Whereas interprocess_condition works only on Locks with mutex_type == interprocess_mutex interprocess_condition_any can operate on any user-defined lock that meets the BasicLockable requirements (lock()/unlock() member functions).
Unlike std::condition_variable_any in C++11, it is NOT safe to invoke the destructor if all threads have been only notified. It is required that they have exited their respective wait functions. 
 
  
  
      
        
          | boost::interprocess::interprocess_condition_any::interprocess_condition_any  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | boost::interprocess::interprocess_condition_any::~interprocess_condition_any  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Destroys *this liberating system resources. 
 
 
  
  
      
        
          | void boost::interprocess::interprocess_condition_any::notify_all  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Change the state of all threads waiting on *this to ready. 
If there are no waiting threads, notify_all() has no effect. 
 
 
  
  
      
        
          | void boost::interprocess::interprocess_condition_any::notify_one  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
If there is a thread waiting on *this, change that thread's state to ready. 
Otherwise there is no effect. 
 
 
template<typename L > 
  
  
      
        
          | bool boost::interprocess::interprocess_condition_any::timed_wait  | 
          ( | 
          L &  | 
          lock,  | 
         
        
           | 
           | 
          const boost::posix_time::ptime &  | 
          abs_time  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Releases the lock on the interprocess_mutex object associated with lock, blocks the current thread of execution until readied by a call to this->notify_one() or this->notify_all(), or until time abs_time is reached, and then reacquires the lock. 
Returns: false if time abs_time is reached, otherwise true. 
 
 
template<typename L , typename Pr > 
  
  
      
        
          | bool boost::interprocess::interprocess_condition_any::timed_wait  | 
          ( | 
          L &  | 
          lock,  | 
         
        
           | 
           | 
          const boost::posix_time::ptime &  | 
          abs_time,  | 
         
        
           | 
           | 
          Pr  | 
          pred  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
The same as: while (!pred()) { if (!timed_wait(lock, abs_time)) return pred(); } return true;. 
 
 
template<typename L > 
  
  
      
        
          | void boost::interprocess::interprocess_condition_any::wait  | 
          ( | 
          L &  | 
          lock | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Releases the lock on the interprocess_mutex object associated with lock, blocks the current thread of execution until readied by a call to this->notify_one() or this->notify_all(), and then reacquires the lock. 
 
 
template<typename L , typename Pr > 
  
  
      
        
          | void boost::interprocess::interprocess_condition_any::wait  | 
          ( | 
          L &  | 
          lock,  | 
         
        
           | 
           | 
          Pr  | 
          pred  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
The same as: while (!pred()) wait(lock) 
 
 
The documentation for this class was generated from the following file: