A queue is typically used to queue events, willing to use an already busy resource. Queue creates a queue and maintains the size of the queue. Reset disposes the queue and sets the size to 0. Reportsize fills the given histogram with samples of the size of the queue. The samples are taken, each time an event or entity is appended to, prepended to, removed from or extracted from the queue. The histogram is printed, each 'interval' time units. If 'interval' is equal to 0 (default), the histogram is printed at the end of the simulation. The histogram should be of type WEIGHTED. Reportwaiting generates a report of the waiting times for events with the given priority. The samples are taken each time an event is removed from the queue, these events all received a waiting time stamp, when added to the queue. The histogram should be of type FREQUENCY. Reportwaitingall generates a report on the waiting times of the events regardless of their queuing priority. Prepend adds an event e to the front of the queue, append adds it to the back of the queue. If the events or entitys receive a queuing priority, they will be added in priority order, with higher priority first. Removefront removes the front of the queue and returns this event, removeback removes the back and returns this event. Back and front only return the back and the front of the queue. Extract extracts event e of the queue, if possible. Terminatefront deletes the front of the queue, terminateback the back of the queue. The cancel method removes and terminates all events from the queue that return FALSE from their event::verify method. The method returns the number of terminated events. These functions don't make a sample of the waiting time or size. Size returns the size of the queue and empty returns TRUE, if the queue is empty, FALSE otherwise. The operator<< function is overloaded for queue, so when used the tree-structure and size of the queue are written to standard output.


slide: DESCRIPTION