Rogue Wave Software logo banner

Click on the banner to return to the Class Reference home page.

©Copyright 1996 Rogue Wave Software

RWTQueue<T,C>

Synopsis

#include <rw/tqueue.h>
RWTQueue<T, C> queue;

Description

This class represents a parameterized queue. Not only can the type of object inserted into the queue be parameterized, but also the implementation.

Parameter T represents the type of object in the queue, either a class or built in type. The class T must have:

Parameter C represents the class used for implementation. Useful choices are RWTValSlist<T> or RWTValDlist<T>. Vectors, such as RWTValOrderedVector<T>, can also be used, but tend to be less efficient at removing an object from the front of the list.

Persistence

None

Example

In this example a queue of RWCStrings, implemented as a singly-linked list, is exercised.

#include <rw/tqueue.h>
#include <rw/cstring.h>
#include <rw/tvslist.h>
#include <rw/rstream.h>

main() {
  RWTQueue<RWCString, RWTValSlist<RWCString> > queue;

  queue.insert("one");   // Type conversion occurs
  queue.insert("two");
  queue.insert("three");

  while (!queue.isEmpty())
    cout << queue.get() << endl;

  return 0;
}
 

Program output

one
two
three

Public Member Functions

void
clear();
size_t
entries() const;
T
first() const;
T
get();
RWBoolean
isEmpty() const;
void
insert(T a);
T
last() const;