template<class T, class C>
class RWTQueue< T, C >
Class RWTQueue 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:
- well-defined copy semantics (
T::T(const T&)
or equivalent)
- well-defined assignment semantics (
T::operator=(const T&)
or equivalent)
- any other semantics required by class
C
.
Parameter C
represents the class used for implementation. The class C
must provide the following interface (or equivalent):
void C::append(const T&)
void C::clear()
size_t C::entries() const
T C::first()
bool C::isEmpty() const
T C::last()
T C::removeFirst()
- a default constructor (
C::C()
)
- a copy constructor (
C::C(const C&)
)
- an assignment operator (
C& C::operator=(const C&)
)
These methods must behave in a manner that is consistent with that of RWTValDlist for this class to function as intended.
Useful choices for C
are RWTValSlist or RWTValDlist. Vectors, such as RWTValOrderedVector, can also be used, but tend to be less efficient at removing an object from the front of the queue.
- Synopsis
#include <rw/tqueue.h>
A queue of templatized objects that supports user-specified containers.
Definition tqueue.h:101
- Persistence
- None
- Example
#include <rw/cstring.h>
#include <rw/tqueue.h>
#include <rw/tvslist.h>
#include <iostream>
int main() {
std::cout << q.
get() << std::endl;
}
return 0;
}
void insert(const T &a)
Definition tqueue.h:192
T get()
Definition tqueue.h:181
bool isEmpty() const
Definition tqueue.h:187
Program output