Stdlib.Pqueue(3) OCaml library Stdlib.Pqueue(3) NAME Stdlib.Pqueue - no description Module Module Stdlib.Pqueue Documentation Module Pqueue : (module Stdlib__Pqueue) module type OrderedType = sig end Input signature of the functors Pqueue.MakeMin and Pqueue.MakeMax . module type Min = sig end Output signature of the functor Pqueue.MakeMin . module MakeMin : (E : OrderedType) -> sig end Functor building an implementation of the min-priority queue structure given a totally ordered type for elements. module type Max = sig end Output signature of the functor Pqueue.MakeMax . module MakeMax : (E : OrderedType) -> sig end Functor building an implementation of the max-priority queue structure given a totally ordered type for elements. Polymorphic priority queues The following, more complex functors create polymorphic queues of type 'a t , just like other polymorphic containers (lists, arrays...). They require a notion of "polymorphic elements" 'a elt that can be compared without depending on the values of 'a . One usage scenario is when the user wants to pass priorities separately from the value stored in the queue. This is done by using pairs priority * 'a as elements. module Prio : OrderedType = ... module PrioQueue = Pqueue.MakeMinPoly(struct type 'a t = Prio.t * 'a let compare (p1, _) (p2, _) = Prio.compare p1 p2 end) (* for example, we now have: *) PrioQueue.add: 'a PrioQueue.t -> Prio.t * 'a -> unit PrioQueue.min_elt: 'a PrioQueue.t -> (Prio.t * 'a) option module type OrderedPolyType = sig end Input signature of the functors Pqueue.MakeMinPoly and Pqueue.MakeMaxPoly . module type MinPoly = sig end Output signature of the functor Pqueue.MakeMinPoly . module MakeMinPoly : (E : OrderedPolyType) -> sig end Functor building an implementation of min-priority queues given a totally ordered type for the elements. module type MaxPoly = sig end Output signature of the functor Pqueue.MakeMaxPoly . module MakeMaxPoly : (E : OrderedPolyType) -> sig end Functor building an implementation of max-priority queues given a totally ordered type for the elements. OCamldoc 2025-11-01 Stdlib.Pqueue(3)