Module Core_kernel__.Hash_heap.Make

Parameters

Signature

module Key = Key
type 'a t
val create : ?min_size:Core_kernel__.Import.int ‑> ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a t
val copy : 'a t ‑> 'a t
val push : 'a t ‑> key:Key.t ‑> data:'a ‑> [ `Ok | `Key_already_present ]
val push_exn : 'a t ‑> key:Key.t ‑> data:'a ‑> Core_kernel__.Import.unit
val replace : 'a t ‑> key:Key.t ‑> data:'a ‑> Core_kernel__.Import.unit
val remove : 'a t ‑> Key.t ‑> Core_kernel__.Import.unit
val mem : 'a t ‑> Key.t ‑> Core_kernel__.Import.bool
val top : 'a t ‑> 'a Core_kernel__.Import.option
val top_exn : 'a t ‑> 'a
val top_with_key : 'a t ‑> (Key.t * 'a) Core_kernel__.Import.option
val top_with_key_exn : 'a t ‑> Key.t * 'a
val pop_with_key : 'a t ‑> (Key.t * 'a) Core_kernel__.Import.option
val pop_with_key_exn : 'a t ‑> Key.t * 'a
val pop : 'a t ‑> 'a Core_kernel__.Import.option
val pop_exn : 'a t ‑> 'a
val pop_if_with_key : 'a t ‑> (key:Key.t ‑> data:'a ‑> Core_kernel__.Import.bool) ‑> (Key.t * 'a) Core_kernel__.Import.option
val pop_if : 'a t ‑> ('a ‑> Core_kernel__.Import.bool) ‑> 'a Core_kernel__.Import.option
val find : 'a t ‑> Key.t ‑> 'a Core_kernel__.Import.option
val find_pop : 'a t ‑> Key.t ‑> 'a Core_kernel__.Import.option
val find_exn : 'a t ‑> Key.t ‑> 'a
val find_pop_exn : 'a t ‑> Key.t ‑> 'a
val iter_keys : _ t ‑> f:(Key.t ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit

Mutation 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 ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit
val iteri : 'a t ‑> f:(key:Key.t ‑> data:'a ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit
val iter_vals : 'a t ‑> f:('a ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit
val to_alist : 'a t ‑> (Key.t * 'a) Core_kernel__.Import.list

Returns the list of all (key, value) pairs for given Hash_heap.

val length : 'a t ‑> Core_kernel__.Import.int