sig
type +'a t
val size : 'a BatHeap.t -> int
val empty : 'a BatHeap.t
val insert : 'a BatHeap.t -> 'a -> 'a BatHeap.t
val add : 'a -> 'a BatHeap.t -> 'a BatHeap.t
val merge : 'a BatHeap.t -> 'a BatHeap.t -> 'a BatHeap.t
val find_min : 'a BatHeap.t -> 'a
val del_min : 'a BatHeap.t -> 'a BatHeap.t
val of_list : 'a list -> 'a BatHeap.t
val to_list : 'a BatHeap.t -> 'a list
val elems : 'a BatHeap.t -> 'a list
val of_enum : 'a BatEnum.t -> 'a BatHeap.t
val enum : 'a BatHeap.t -> 'a BatEnum.t
val print :
?first:string ->
?last:string ->
?sep:string -> ('a, 'b) BatIO.printer -> ('a BatHeap.t, 'b) BatIO.printer
module type H =
sig
type elem
type t
val empty : BatHeap.H.t
val size : BatHeap.H.t -> int
val insert : BatHeap.H.t -> BatHeap.H.elem -> BatHeap.H.t
val add : BatHeap.H.elem -> BatHeap.H.t -> BatHeap.H.t
val merge : BatHeap.H.t -> BatHeap.H.t -> BatHeap.H.t
val find_min : BatHeap.H.t -> BatHeap.H.elem
val del_min : BatHeap.H.t -> BatHeap.H.t
val of_list : BatHeap.H.elem list -> BatHeap.H.t
val to_list : BatHeap.H.t -> BatHeap.H.elem list
val elems : BatHeap.H.t -> BatHeap.H.elem list
val of_enum : BatHeap.H.elem BatEnum.t -> BatHeap.H.t
val enum : BatHeap.H.t -> BatHeap.H.elem BatEnum.t
val print :
?first:string ->
?last:string ->
?sep:string ->
(BatHeap.H.elem, 'a) BatIO.printer -> (BatHeap.H.t, 'a) BatIO.printer
end
module Make :
functor (Ord : BatInterfaces.OrderedType) ->
sig
type elem = Ord.t
type t
val empty : t
val size : t -> int
val insert : t -> elem -> t
val add : elem -> t -> t
val merge : t -> t -> t
val find_min : t -> elem
val del_min : t -> t
val of_list : elem list -> t
val to_list : t -> elem list
val elems : t -> elem list
val of_enum : elem BatEnum.t -> t
val enum : t -> elem BatEnum.t
val print :
?first:string ->
?last:string ->
?sep:string -> (elem, 'a) BatIO.printer -> (t, 'a) BatIO.printer
end
end