CLASS::PriorityQueue summary:: Priority queue data structure categories:: Collections>Ordered DESCRIPTION:: PriorityQueue implements a priority queue data structure, which is used to build schedulers. It allows you to put in items at some arbitrary time and pop them in time order. INSTANCEMETHODS:: private::prInternalArray method::put Puts the item in the queue at the given time. method::topPriority Returns the time of the earliest item in the queue. method::pop Returns the earliest item in the queue. method::clear Empty the queue. method::isEmpty Return a link::Classes/Boolean:: whether the queue is empty. method::notEmpty Return a link::Classes/Boolean:: whether the queue is not empty. method::removeValue Remove all instances of value from the queue. EXAMPLES:: code:: ( var p; p = PriorityQueue.new; p.put(0.1, \a); p.put(2.0, \b); p.put(0.5, \c); p.put(0.2, \d); p.put(1.0, \e); while ({ p.notEmpty },{ [p.topPriority, p.pop].postln; }); p.pop.postln; p.pop.postln; p.pop.postln; ) [ 0.1, a ] [ 0.2, d ] [ 0.5, c ] [ 1, e ] [ 2, b ] nil nil nil ::