CCMutHeap.Make
module X : RANKED
type elt = X.t
Type of elements
type t
Heap of elt, whose priority is increased or decreased incrementally (see decrease for instance)
elt
decrease
val create : unit -> t
Create a heap
val decrease : t -> elt -> unit
decrease h x decreases the value associated to x within h
decrease h x
x
h
val increase : t -> elt -> unit
increase h x increases the value associated to x within h
increase h x
val in_heap : elt -> bool
val size : t -> int
Number of integers within the heap
val is_empty : t -> bool
val clear : t -> unit
Clear the content of the heap
val insert : t -> elt -> unit
Insert a new element into the heap
val remove_min : t -> elt
Remove and return the integer that has the lowest value from the heap
if the heap is empty
val filter : t -> (elt -> bool) -> unit
Filter out values that don't satisfy the predicate