CMS 3D CMS Logo

ThreadMessage< T > Class Template Reference

#include <Utilities/General/interface/MutexUtils.h>

List of all members.

Public Types

typedef T Case

Public Member Functions

const Caseget () const
void go (const Case &i)
const Caseoperator() () const

Private Attributes

boost::condition doit
Case it
SimpleLockMutex::Mutex lock


Detailed Description

template<typename T>
class ThreadMessage< T >

Definition at line 117 of file MutexUtils.h.


Member Typedef Documentation

template<typename T>
typedef T ThreadMessage< T >::Case

Definition at line 119 of file MutexUtils.h.


Member Function Documentation

template<typename T>
const Case& ThreadMessage< T >::get ( void   )  const [inline]

Definition at line 133 of file MutexUtils.h.

References ThreadMessage< T >::it.

00133 { return it;} 

template<typename T>
void ThreadMessage< T >::go ( const Case i  )  [inline]

Definition at line 127 of file MutexUtils.h.

References ThreadMessage< T >::doit, ThreadMessage< T >::it, and ThreadMessage< T >::lock.

00127                          {
00128     SimpleLockMutex gl(lock);
00129     it=i;
00130     doit.notify_all(); 
00131   }

template<typename T>
const Case& ThreadMessage< T >::operator() ( void   )  const [inline]

Definition at line 121 of file MutexUtils.h.

References ThreadMessage< T >::doit, ThreadMessage< T >::it, and ThreadMessage< T >::lock.

00121                                  {
00122     SimpleLockMutex gl(lock);
00123     doit.wait(gl());
00124     return it;
00125   }


Member Data Documentation

template<typename T>
boost::condition ThreadMessage< T >::doit [mutable, private]

Definition at line 138 of file MutexUtils.h.

Referenced by ThreadMessage< T >::go(), and ThreadMessage< T >::operator()().

template<typename T>
Case ThreadMessage< T >::it [private]

Definition at line 139 of file MutexUtils.h.

Referenced by ThreadMessage< T >::get(), ThreadMessage< T >::go(), and ThreadMessage< T >::operator()().

template<typename T>
SimpleLockMutex::Mutex ThreadMessage< T >::lock [mutable, private]

Definition at line 137 of file MutexUtils.h.

Referenced by ThreadMessage< T >::go(), and ThreadMessage< T >::operator()().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:33:27 2009 for CMSSW by  doxygen 1.5.4