vpr::GuardedQueue< value_type > Class Template Reference

A guarded queue. More...

#include <vpr/Sync/GuardedQueue.h>

Collaboration diagram for vpr::GuardedQueue< value_type >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GuardedQueue ()
 ~GuardedQueue ()
bool empty ()
value_type & front ()
value_type & back ()
void push (const value_type &val)
void pop ()
int size () const

Detailed Description

template<class value_type>
class vpr::GuardedQueue< value_type >

A guarded queue.

Guards an STL queue and implements the basic interface All the functions pass directly through to the corresponding STL queue function but they are guarded so that only a single thread can interact with the queue at once.

Definition at line 64 of file GuardedQueue.h.


Constructor & Destructor Documentation

template<class value_type>
vpr::GuardedQueue< value_type >::GuardedQueue (  )  [inline]

Definition at line 67 of file GuardedQueue.h.

00068    {;}

template<class value_type>
vpr::GuardedQueue< value_type >::~GuardedQueue (  )  [inline]

Definition at line 70 of file GuardedQueue.h.

00071    {;}


Member Function Documentation

template<class value_type>
bool vpr::GuardedQueue< value_type >::empty (  )  [inline]

Definition at line 73 of file GuardedQueue.h.

00074    {
00075       Guard<Mutex> guard(mMutexGuard);
00076       return mQ.empty();
00077    }

template<class value_type>
value_type& vpr::GuardedQueue< value_type >::front (  )  [inline]

Definition at line 79 of file GuardedQueue.h.

00080    {
00081       Guard<Mutex> guard(mMutexGuard);
00082       return mQ.front();
00083    }

template<class value_type>
value_type& vpr::GuardedQueue< value_type >::back (  )  [inline]

Definition at line 85 of file GuardedQueue.h.

00086    {
00087       Guard<Mutex> guard(mMutexGuard);
00088       return mQ.back();
00089    }

template<class value_type>
void vpr::GuardedQueue< value_type >::push ( const value_type &  val  )  [inline]

Definition at line 91 of file GuardedQueue.h.

00092    {
00093       Guard<Mutex> guard(mMutexGuard);
00094       mQ.push(val);
00095    }

template<class value_type>
void vpr::GuardedQueue< value_type >::pop (  )  [inline]

Definition at line 97 of file GuardedQueue.h.

00098    {
00099       Guard<Mutex> guard(mMutexGuard);
00100       mQ.pop();
00101    }

template<class value_type>
int vpr::GuardedQueue< value_type >::size (  )  const [inline]

Definition at line 103 of file GuardedQueue.h.

00104    {
00105       return mQ.size();
00106    }


The documentation for this class was generated from the following file:
Generated on Thu Jan 4 10:55:52 2007 for VR Juggler Portable Runtime by  doxygen 1.5.1