The class queue has the following interface :
interface queue
{
queue(); // constructor
virtual ~queue(); // destructor
void reset(); // reset queue
int reportsize(histogram* h,double interval = 0);
int reportwaiting(histogram* h,double interval = 0,int qp = 0);
int reportwaitingall(histogram* h,double interval = 0);
int prepend(event* e); // add to front
int append(event* e); // add to back
event* removefront(); // remove front
event* front(); // return front
event* removeback(); // remove back
event* back(); // return back
int extract(event* e); // extract e
int terminatefront(); // terminate front
int terminateback(); // terminate back
int cancel(); // cancel specified events
int size(); // return size
int empty(); // is empty ?
friend ostream& operator<<(ostream& os,queue& q);
};
The reports fill the given histogram with data of the size of the queue or with data of the waiting times. The latter regardless of the queuing priorities.