Index  Source Files  Annotated Class List  Alphabetical Class List  Class Hierarchy  Graphical Class Hierarchy   
 

FIX::Queue< T > Class Template Reference

A thread safe monitored queue. More...

#include <Queue.h>

Collaboration diagram for FIX::Queue< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void push (const T &value)
bool pop (T &value)
int size ()
void wait ()
void signal ()

Private Attributes

Event m_event
Mutex m_mutex
std::queue< T > m_queue

Detailed Description

template<typename T>
class FIX::Queue< T >

A thread safe monitored queue.

Definition at line 33 of file Queue.h.


Member Function Documentation

template<typename T>
bool FIX::Queue< T >::pop T &  value  )  [inline]
 

Definition at line 43 of file Queue.h.

References FIX::Queue< T >::m_queue.

Referenced by FIX::SocketMonitor::block().

00044   {
00045     Locker locker( m_mutex );
00046     if ( !m_queue.size() ) return false;
00047     value = m_queue.front();
00048     m_queue.pop();
00049     return true;
00050   }

template<typename T>
void FIX::Queue< T >::push const T &  value  )  [inline]
 

Definition at line 36 of file Queue.h.

References FIX::Queue< T >::m_queue, and FIX::Queue< T >::signal().

Referenced by FIX::SocketMonitor::drop().

00037   {
00038     Locker locker( m_mutex );
00039     m_queue.push( value );
00040     signal();
00041   }

template<typename T>
void FIX::Queue< T >::signal  )  [inline]
 

Definition at line 63 of file Queue.h.

References FIX::Event::signal().

Referenced by FIX::Queue< T >::push().

00064   {
00065     m_event.signal();
00066   }

template<typename T>
int FIX::Queue< T >::size  )  [inline]
 

Definition at line 52 of file Queue.h.

References FIX::Queue< T >::m_queue.

Referenced by FIX::SocketMonitor::block().

00053   {
00054     Locker locker( m_mutex );
00055     return m_queue.size();
00056   }

template<typename T>
void FIX::Queue< T >::wait  )  [inline]
 

Definition at line 58 of file Queue.h.

References FIX::Event::wait().

00059   {
00060     m_event.wait();
00061   }


Member Data Documentation

template<typename T>
Event FIX::Queue< T >::m_event [private]
 

Definition at line 69 of file Queue.h.

template<typename T>
Mutex FIX::Queue< T >::m_mutex [private]
 

Definition at line 70 of file Queue.h.

template<typename T>
std::queue< T > FIX::Queue< T >::m_queue [private]
 

Definition at line 71 of file Queue.h.

Referenced by FIX::Queue< T >::pop(), FIX::Queue< T >::push(), and FIX::Queue< T >::size().


The documentation for this class was generated from the following file:
Generated on Mon Jul 24 19:36:48 2006 for QuickFIX by doxygen 1.3.6-20040222 written by Dimitri van Heesch, © 1997-2001