module type S =sig..end
type elt 
type t 
val empty : t val is_empty : t -> boolexception Empty
val merge : t -> t -> t val insert : elt -> t -> t val add : t -> elt -> t CCHeap.S.insert val filter : (elt -> bool) -> t -> t val find_min : t -> elt optionval find_min_exn : t -> elt 
val take : t -> (t * elt) optionNone if the heap is emptyval take_exn : t -> t * elt 
val iter : (elt -> unit) -> t -> unitval fold : ('a -> elt -> 'a) -> 'a -> t -> 'aval size : t -> int
 The interface of of_gen, of_seq, of_klist
 has changed
val to_list : t -> elt list
val add_list : t -> elt list -> t val of_list : elt list -> t of_list l = add_list empty lval add_seq : t -> elt CCHeap.sequence -> t CCHeap.S.add_list val of_seq : elt CCHeap.sequence -> t 
val to_seq : t -> elt CCHeap.sequence 
val add_klist : t -> elt CCHeap.klist -> t val of_klist : elt CCHeap.klist -> t 
val to_klist : t -> elt CCHeap.klist 
val add_gen : t -> elt CCHeap.gen -> t val of_gen : elt CCHeap.gen -> t 
val to_gen : t -> elt CCHeap.gen 
val to_tree : t -> elt CCHeap.ktree 
val print : ?sep:string -> elt CCHeap.printer -> t CCHeap.printer