A queue data structure — with value semantics— whose elements are dequeued by priority order.
Priority of one element over another is defined via a strict ordering function given at creation time and
invariable during the life time of an instance.
Such that given
sort as the ordering function, then for any elements
the following conditions must hold:
sort(a, a)is always
sort(b, c)are both
sort(a, c)is also
true. ( Transitive comparability)
bare incomparable, and
care incomparable, then
care also incomparable. (Transitive incomparability)