sig
exception EmptyHeap
module type OrderType =
sig type t val compare : Heap.OrderType.t -> Heap.OrderType.t -> int end
module type S =
sig
type t
type elem
val empty : Heap.S.t
val pop : Heap.S.t -> Heap.S.elem * Heap.S.t
val add : Heap.S.t -> Heap.S.elem list -> Heap.S.t
val elements : Heap.S.t -> Heap.S.elem list
val length : Heap.S.t -> int
end
module Make :
functor (X : OrderType) ->
sig
type t
type elem = X.t
val empty : t
val pop : t -> elem * t
val add : t -> elem list -> t
val elements : t -> elem list
val length : t -> int
end
end