Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - OS - Threads - MessageQueueC<class T>
 

  PUBLIC
MessageQueueC::MessageQueueC(int)
MessageQueueC::MessageQueueC(const MessageQueueC &)
MessageQueueC::~MessageQueueC(void)
MessageQueueC::Put(const T &)
MessageQueueC::TryPut(const T &)
MessageQueueC::Get(void)
MessageQueueC::TryGet(T &)
MessageQueueC::IsElm(void)
MessageQueueC::IsEmpty(void)
MessageQueueC::Size(void)
MessageQueueC::Empty(void)
MessageQueueBaseC::Dump(void) const
MessageQueueBaseC::MaxSize(void) const
MessageQueueBaseC::IsSpace(void) const
MessageQueueBaseC::IsEmptyBase(void) const

   MessageQueueC<class T>   
 
Thread safe queue.
 
include "Ravl/Threads/MessageQueue.hh"
Created:25/11/1995 
Source file:Ravl/OS/Threads/Tools/MessageQueue.hh
User Level:Normal
Library:RavlThreads
In Scope:RavlN

Comments:
This is designed to be used in inter-thread communication. And number of threads can get and put from the queue. The queue is of a fixed length to provide some flow control in the program. SMALL OBJECT.

Parent Classes: Variables:
T * data;

Methods:
MessageQueueC(int nMaxSize = 10)
Default constructor.

MessageQueueC(const MessageQueueC<T> &)
Copy constructor.

~MessageQueueC()
Destructor.

void Put(const T & Data)
Put data into queue.

bool TryPut(const T & Data)
Try an put data in queue if there's space.
Ret:true = Data in queue. Ret:false = data not in queue.

T Get()
Get data from queue.

bool TryGet(T & Data)
Try and get data from queue.
Ret:false = No data available.

bool IsElm()
Is there data in the queue ?

bool IsEmpty()
Is the queue empty ?

int Size()
How much data is there in the queue.

void Empty()
Empty pipe of all its contents.

void Dump(void) const
Dump contents to stdout.

IntT MaxSize() const
Get size of pipe.

bool IsSpace() const
Is space to data into ring ?

bool IsEmptyBase() const
Is space to data into ring ?


Maintainer:Charles Galambos, Created: 25/11/1995, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002