FIX::Queue< T > Class Template Reference

A thread safe monitored queue. More...

#include <Queue.h>

Collaboration diagram for FIX::Queue< T >:

Public Member Functions

void push (const T &value)
bool pop (T &value)
int size ()
void wait (double s)
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

◆ pop()

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

Definition at line 43 of file Queue.h.

44 {
46 if ( !m_queue.size() ) return false;
47 value = m_queue.front();
48 m_queue.pop();
49 return true;
50 }
A thread safe monitored queue.
Definition Queue.h:34
std::queue< T > m_queue
Definition Queue.h:71
Mutex m_mutex
Definition Queue.h:70

References m_mutex, and m_queue.

◆ push()

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

Definition at line 36 of file Queue.h.

37 {
39 m_queue.push( value );
40 signal();
41 }
void signal()
Definition Queue.h:63

References m_mutex, m_queue, and signal().

◆ signal()

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

Definition at line 63 of file Queue.h.

64 {
65 m_event.signal();
66 }
Event m_event
Definition Queue.h:69

References m_event.

Referenced by push().

◆ size()

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

Definition at line 52 of file Queue.h.

53 {
55 return m_queue.size();
56 }

References m_mutex, and m_queue.

◆ wait()

template<typename T>
void FIX::Queue< T >::wait ( double s)
inline

Definition at line 58 of file Queue.h.

59 {
60 m_event.wait( s );
61 }

References m_event.

Member Data Documentation

◆ m_event

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

Definition at line 69 of file Queue.h.

Referenced by signal(), and wait().

◆ m_mutex

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

Definition at line 70 of file Queue.h.

Referenced by pop(), push(), and size().

◆ m_queue

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

Definition at line 71 of file Queue.h.

Referenced by pop(), push(), and size().


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

Generated on for QuickFIX by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2001