Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

IDEA::ThreadSafeQueue< Type, Container, Compare > Class Template Reference
[Agent handle classes]

A thread-safe-priority-queue is a thread-safe implementation of the STL-priority-queue. More...

#include <Queue.hh>

List of all members.

Public Methods

 ThreadSafeQueue ()
 Constructor.

 ~ThreadSafeQueue ()
 Destructor.

bool empty ()
 Tests if the queue is empty.

const Type & top ()
 Returns a reference to the first element at the top of the queue with the highest priority.

void pop ()
 Removes an element from the top of the queue with the highest priority.

void push (const Type &v)
 Adds an element to the back of the queue.

size_t size ()
 Returns the number of elements in the queue.

size_t size () const
 Returns the number of elements in the queue.

RecursiveThreadMutexgetMutex ()
 Returns the mutex of the invoking queue.


Private Attributes

RecursiveThreadMutex m_Mutex
std::priority_queue< Type,
Container, Compare > 
m_Queue


Detailed Description

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
class IDEA::ThreadSafeQueue< Type, Container, Compare >

A thread-safe-priority-queue is a thread-safe implementation of the STL-priority-queue.

Author:
David Rijsman rijsman@email.arc.nasa.gov


Constructor & Destructor Documentation

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
IDEA::ThreadSafeQueue< Type, Container, Compare >::ThreadSafeQueue   [inline]
 

Constructor.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
IDEA::ThreadSafeQueue< Type, Container, Compare >::~ThreadSafeQueue   [inline]
 

Destructor.


Member Function Documentation

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
bool IDEA::ThreadSafeQueue< Type, Container, Compare >::empty   [inline]
 

Tests if the queue is empty.

Returns true if empty otherwise false.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
RecursiveThreadMutex& IDEA::ThreadSafeQueue< Type, Container, Compare >::getMutex   [inline]
 

Returns the mutex of the invoking queue.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
void IDEA::ThreadSafeQueue< Type, Container, Compare >::pop   [inline]
 

Removes an element from the top of the queue with the highest priority.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
void IDEA::ThreadSafeQueue< Type, Container, Compare >::push const Type &    v [inline]
 

Adds an element to the back of the queue.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
size_t IDEA::ThreadSafeQueue< Type, Container, Compare >::size   const [inline]
 

Returns the number of elements in the queue.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
size_t IDEA::ThreadSafeQueue< Type, Container, Compare >::size   [inline]
 

Returns the number of elements in the queue.

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
const Type& IDEA::ThreadSafeQueue< Type, Container, Compare >::top   [inline]
 

Returns a reference to the first element at the top of the queue with the highest priority.


Member Data Documentation

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
RecursiveThreadMutex IDEA::ThreadSafeQueue< Type, Container, Compare >::m_Mutex [private]
 

Mutex for protection

template<class Type, class Container = std::vector< Type >, class Compare = std::less< typename Container::value_type >>
std::priority_queue<Type,Container,Compare> IDEA::ThreadSafeQueue< Type, Container, Compare >::m_Queue [private]
 

Container


Contact information
© IDEA
Generated on Fri Feb 3 17:09:49 2006 for IDEA.