The OutputQueue class is a SortedList instantiated with BasicEvent *'s as the type of object to be handled. The comparison function given to the SortedList is a comparison for BasicEvents, allowing the sorting to occur based on sendTimes.
The OutputQueue class has a function called gcollect(Time) that is similar in nature to InputQueue::gcollect, except OutputQueue::gcollect deletes the data from the Containers that it removes.
Another similarity the OutputQueue has with the InputQueue class is that the method find has been overload in the OutputQueue class to accept a VTime as an argument.
The interface for the OutputQueue class follows:
class OutputQueue:public SortedList< BasicEvent > {
public:
OutputQueue() { setFunc( BasicEventCompareSend ); };
~OutputQueue(){};
BasicEvent* find( VTime, findMode_t = EQUAL ); // nicer interface to find.
void gcollect(VTime); // perform garbage collection up until VTime.
// deletes containers, AND data.
};