Functor BatHeap.Make

module Make: 
functor (Ord : BatInterfaces.OrderedType-> H with type elem = Ord.t

Functorized heaps over arbitrary orderings. All the functions have the same complexity as the non-functorized versions.

Parameters:
Ord : BatInterfaces.OrderedType

type elem 

Type of elements of the heap

type t 

Type of the heap

val empty : t

See BatHeap.empty.

val size : t -> int

See BatHeap.size.

val insert : t -> elem -> t

See BatHeap.add.

val add : elem -> t -> t

See BatHeap.insert.

val merge : t -> t -> t

See BatHeap.merge.

val find_min : t -> elem

See BatHeap.find_min.

val del_min : t -> t

See BatHeap.del_min.

val of_list : elem list -> t

See BatHeap.of_list.

val to_list : t -> elem list

See BatHeap.to_list.

val elems : t -> elem list
Deprecated. Same as to_list.
val of_enum : elem BatEnum.t -> t

See BatHeap.of_enum.

val enum : t -> elem BatEnum.t

See BatHeap.enum.

val print : ?first:string ->
?last:string ->
?sep:string ->
(elem, 'a) BatIO.printer -> (t, 'a) BatIO.printer

See BatHeap.print.