Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Monitor< IMPL > Class Template Reference

#include "lib/sync.hpp"

Description

template<class IMPL>
class lib::sync::Monitor< IMPL >

Object Monitor for synchronisation and waiting.

Implemented by a (wrapped) set of sync primitives, which are default constructible and noncopyable.

Definition at line 336 of file sync.hpp.

Public Member Functions

 Monitor ()
 
 Monitor (Monitor const &ref)
 allow copy, without interfering with the identity of IMPL More...
 
 ~Monitor ()
 
void acquireLock ()
 
bool isTimedWait ()
 
const Monitoroperator= (Monitor const &ref)
 
void releaseLock ()
 
void setTimeout (ulong relative)
 
void signal (bool a)
 
bool wait (Flag flag, ulong timedwait=0)
 
template<class X >
bool wait (X &instance, bool(X::*method)(void), ulong timedwait=0)
 

Private Attributes

Timeout timeout_
 

Constructor & Destructor Documentation

Monitor ( )
inline

Definition at line 342 of file sync.hpp.

~Monitor ( )
inline

Definition at line 343 of file sync.hpp.

Monitor ( Monitor< IMPL > const &  ref)
inline

allow copy, without interfering with the identity of IMPL

Definition at line 346 of file sync.hpp.

Member Function Documentation

const Monitor& operator= ( Monitor< IMPL > const &  ref)
inline

Definition at line 347 of file sync.hpp.

void acquireLock ( )
inline

Definition at line 350 of file sync.hpp.

Referenced by Sync< CONF >::Lock::Lock().

+ Here is the caller graph for this function:

void releaseLock ( )
inline

Definition at line 351 of file sync.hpp.

Referenced by Sync< CONF >::Lock::~Lock().

+ Here is the caller graph for this function:

void signal ( bool  a)
inline

Definition at line 353 of file sync.hpp.

Referenced by Sync< CONF >::Lock::notify(), and Sync< CONF >::Lock::notifyAll().

+ Here is the caller graph for this function:

bool wait ( Flag  flag,
ulong  timedwait = 0 
)
inline

Definition at line 356 of file sync.hpp.

Referenced by Sync< CONF >::Lock::Lock(), and Sync< CONF >::Lock::wait().

+ Here is the caller graph for this function:

bool wait ( X &  instance,
bool(X::*)(void)  method,
ulong  timedwait = 0 
)
inline

Definition at line 364 of file sync.hpp.

void setTimeout ( ulong  relative)
inline

Definition at line 370 of file sync.hpp.

Referenced by Sync< CONF >::Lock::setTimeout().

+ Here is the caller graph for this function:

bool isTimedWait ( )
inline

Definition at line 371 of file sync.hpp.

Referenced by Sync< CONF >::Lock::isTimedWait().

+ Here is the caller graph for this function:

Member Data Documentation

Timeout timeout_
private

Definition at line 339 of file sync.hpp.

Referenced by Monitor< RecursiveLock_Waitable >::operator=().

+ Inheritance diagram for Monitor< IMPL >:
+ Collaboration diagram for Monitor< IMPL >:

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