Lwt_pqueue.Make
Generates priority queue types from ordered types.
module Ord : OrderedType
type elt = Ord.t
Type of elements contained in the priority queue.
val empty : t
The empty priority queue. Contains no elements.
val is_empty : t -> bool
is_empty q
evaluates to true
iff q
is empty.
add e q
evaluates to a new priority queue, which contains all the elements of q
, and the additional element e
.
union q q'
evaluates to a new priority queue, which contains all the elements of both q
and q'
.
find_min q
evaluates to the minimum element of q
if it is not empty, and raises Not_found
otherwise.
lookup_min q
evaluates to Some e
, where e
is the minimum element of q
, if q
is not empty, and evaluates to None
otherwise.
remove_min q
evaluates to a new priority queue, which contains all the elements of q
except for its minimum element. Raises Not_found
if q
is empty.
val size : t -> int
size q
evaluates to the number of elements in q
.