(Available since version 1.0)
This is the abstract base class from which all the priority queue implementations in this library are derived.
It provides the same interface as SplPriorityQueue with the extra method, PriorityQueue::update() which allows one to change the priority of a node in the queue.
The methods implemented in this class are common to all of the priority queue implementations in this library.
Note:
This class is not intended for public consumption. Most users should instead be deriving from one of the concrete classes, such as the pairing priority queue class.
PriorityQueue::EXTR_DATA
(1) Flag for extracting data from the priority queue.
PriorityQueue::EXTR_PRIORITY
(2) Flag for extracting priorities from the priority queue.
PriorityQueue::EXTR_BOTH
(3) The data and priority extraction flags combined. Used for extracting both simultaneously.
The underlying data-structure, generally a heap.
The extraction mode. Defaults to
PriorityQueue::EXTR_DATA
.