module Key = Keyval create : ?min_size:int -> ('a -> 'a -> int) -> 'a tval copy : 'a t -> 'a tval push : 'a t -> key:Key.t -> data:'a -> [ `Ok | `Key_already_present ]val push_exn : 'a t -> key:Key.t -> data:'a -> unitval replace : 'a t -> key:Key.t -> data:'a -> unitval remove : 'a t -> Key.t -> unitval mem : 'a t -> Key.t -> boolval top : 'a t -> 'a optionval top_exn : 'a t -> 'aval top_with_key : 'a t -> (Key.t * 'a) optionval top_with_key_exn : 'a t -> Key.t * 'aval pop_with_key : 'a t -> (Key.t * 'a) optionval pop_with_key_exn : 'a t -> Key.t * 'aval pop : 'a t -> 'a optionval pop_exn : 'a t -> 'aval pop_if_with_key : 'a t -> (key:Key.t -> data:'a -> bool) -> (Key.t * 'a) optionval pop_if : 'a t -> ('a -> bool) -> 'a optionval find : 'a t -> Key.t -> 'a optionval find_pop : 'a t -> Key.t -> 'a optionval find_exn : 'a t -> Key.t -> 'aval find_pop_exn : 'a t -> Key.t -> 'aval iter_keys : _ t -> f:(Key.t -> unit) -> unitMutation of the heap during iteration is not supported, but there is no check to prevent it. The behavior of a heap that is mutated during iteration is undefined.
val iter : 'a t -> f:('a -> unit) -> unitval iteri : 'a t -> f:(key:Key.t -> data:'a -> unit) -> unitval to_alist : 'a t -> (Key.t * 'a) listReturns the list of all (key, value) pairs for given
Hash_heap.
val length : 'a t -> int