cpp-pthread  (v1.7.3)
Simple C++ wrapper to pthread functions.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Public Member Functions | List of all members
pthread::util::sync_queue< T > Class Template Reference

Public Member Functions

void put (const T &item)
 
void put (const T &item, int wait_time)
 
void get (T &item)
 
void get (T &item, int wait_time)
 
bool empty () const
 
size_t size () const
 
size_t max_size () const
 
void set_max_size (size_t ms)
 
 sync_queue (int ms=10)
 
virtual ~sync_queue ()
 

Detailed Description

template<typename T>
class pthread::util::sync_queue< T >

Examples:
synchronized_queue_tests.cpp.

Definition at line 43 of file sync_queue.hpp.

Constructor & Destructor Documentation

template<typename T >
pthread::util::sync_queue< T >::sync_queue ( int  ms = 10)
explicit

constructor

Parameters
msmax queue size (default is 10).

Definition at line 234 of file sync_queue.hpp.

template<typename T >
pthread::util::sync_queue< T >::~sync_queue ( )
virtual

destructor

Definition at line 237 of file sync_queue.hpp.

Member Function Documentation

template<typename T >
bool pthread::util::sync_queue< T >::empty ( ) const
inline
Returns
true if queue is empty

Definition at line 79 of file sync_queue.hpp.

template<typename T >
void pthread::util::sync_queue< T >::get ( T &  item)

Get an item from the queue.

If the queue is empty, get waits for an item to be put.

Parameters
itemitem that will receive an item found onto the queue.

Definition at line 154 of file sync_queue.hpp.

template<typename T >
void pthread::util::sync_queue< T >::get ( T &  item,
int  wait_time 
)

Get an item from the queue, if empty wait for one during duration milliseconds.

Parameters
itemitem that will receive an item found onto the queue.
wait_timeduration we are willing to wait for a new item.
Exceptions
queue_exceptionwhen an error occurs.

Definition at line 169 of file sync_queue.hpp.

template<typename T >
size_t pthread::util::sync_queue< T >::max_size ( ) const
inline
Returns
maximun number of items that can be put in the queue

Definition at line 100 of file sync_queue.hpp.

template<typename T >
void pthread::util::sync_queue< T >::put ( const T &  item)

Put an item in the queue.

If the queue max size is reached, then the operation waits until a size is smaller then max size again.

Parameters
itemitem to store in the queue

Definition at line 193 of file sync_queue.hpp.

template<typename T >
void pthread::util::sync_queue< T >::put ( const T &  item,
int  wait_time 
)

Put an item in the queue (wait if size >= max_size).

Parameters
itemitem to store in the queue
wait_timemillis to wait for the queue to free a slo

Definition at line 209 of file sync_queue.hpp.

template<typename T >
void pthread::util::sync_queue< T >::set_max_size ( size_t  ms)
inline

change the maximum number of items that can be put in the queue.

Parameters
msmaximum size

Definition at line 109 of file sync_queue.hpp.

template<typename T >
size_t pthread::util::sync_queue< T >::size ( ) const
inline
Returns
current number of elements in the queue

Definition at line 89 of file sync_queue.hpp.


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