sig
module type ORD =
sig type t val compare : t -> t -> int val string_of : t -> string end
module type S =
sig
type 'a t
type key
exception Empty
val create : unit -> 'a PrioQueues.S.t
val clear : 'a PrioQueues.S.t -> unit
val is_empty : 'a PrioQueues.S.t -> bool
val top : 'a PrioQueues.S.t -> 'a
val pop : 'a PrioQueues.S.t -> 'a
val push : PrioQueues.S.key -> 'a -> 'a PrioQueues.S.t -> unit
val string_of : ('a -> string) -> 'a PrioQueues.S.t -> string
end
module Make :
functor (Ord : ORD) ->
sig
type 'a t
type key = Ord.t
exception Empty
val create : unit -> 'a t
val clear : 'a t -> unit
val is_empty : 'a t -> bool
val top : 'a t -> 'a
val pop : 'a t -> 'a
val push : key -> 'a -> 'a t -> unit
val string_of : ('a -> string) -> 'a t -> string
end
end