Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

ArrayQueue Class Reference

#include <ArrayQueue.hpp>

List of all members.

Public Methods

__inline ArrayQueue ()
__inline ArrayQueue (unsigned long sz)
virtual ~ArrayQueue ()
void clear ()
void enqueue (const Elem item)
Elem dequeue ()
Elem firstValue () const
bool isEmpty () const

Private Attributes

unsigned long size
unsigned long front
unsigned long rear
Elemlistarray


Constructor & Destructor Documentation

__inline ArrayQueue::ArrayQueue   [inline]
 

Definition at line 13 of file ArrayQueue.hpp.

00014     : size( LIST_SIZE + 1 ), front( 0 ), rear( 0 ) 
00015   {
00016       listarray = new Elem[size];
00017   }

__inline ArrayQueue::ArrayQueue unsigned long    sz [inline]
 

Definition at line 19 of file ArrayQueue.hpp.

00020     : size( sz + 1 ), front( 0 ), rear( 0 ) 
00021   {
00022       listarray = new Elem[size];
00023   }

virtual ArrayQueue::~ArrayQueue   [inline, virtual]
 

Definition at line 25 of file ArrayQueue.hpp.

00026   {
00027     delete [] listarray;
00028   }


Member Function Documentation

void ArrayQueue::clear   [inline]
 

Definition at line 30 of file ArrayQueue.hpp.

00031   {
00032     front = rear;
00033   }

Elem ArrayQueue::dequeue  
 

Definition at line 64 of file ArrayQueue.hpp.

00065 {
00066   assert( !isEmpty() );                 // There must be something to dequeue
00067   front = (front+1) % size;             // Increment front
00068   return listarray[ front ];            // Return value
00069 }

void ArrayQueue::enqueue const Elem    item
 

Definition at line 57 of file ArrayQueue.hpp.

00058 {
00059   assert( ((rear+1) % size) != front ); // Queue must not be full
00060   rear = (rear+1) % size;               // Increment rear (in circle)
00061   listarray[rear] = item;
00062 }

Elem ArrayQueue::firstValue   const [inline]
 

Definition at line 38 of file ArrayQueue.hpp.

00039   {
00040     assert( !isEmpty() );
00041     return listarray[ (front+1) % size ];
00042   }

bool ArrayQueue::isEmpty   const [inline]
 

Definition at line 44 of file ArrayQueue.hpp.

00045   {
00046     return front == rear;
00047   }


Member Data Documentation

unsigned long ArrayQueue::front [private]
 

Definition at line 51 of file ArrayQueue.hpp.

Elem* ArrayQueue::listarray [private]
 

Definition at line 53 of file ArrayQueue.hpp.

unsigned long ArrayQueue::rear [private]
 

Definition at line 52 of file ArrayQueue.hpp.

unsigned long ArrayQueue::size [private]
 

Definition at line 50 of file ArrayQueue.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Oct 14 18:48:24 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001