package core_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

Signature

module Key = Key
type 'a t
val create : ?min_size:Base.Int.t -> ('a -> 'a -> Base.Int.t) -> '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 -> Base.Unit.t
val replace : 'a t -> key:Key.t -> data:'a -> Base.Unit.t
val remove : 'a t -> Key.t -> Base.Unit.t
val mem : 'a t -> Key.t -> Base.Bool.t
val top : 'a t -> 'a Base.Option.t
val top_exn : 'a t -> 'a
val top_with_key : 'a t -> (Key.t * 'a) Base.Option.t
val top_with_key_exn : 'a t -> Key.t * 'a
val pop_with_key : 'a t -> (Key.t * 'a) Base.Option.t
val pop_with_key_exn : 'a t -> Key.t * 'a
val pop : 'a t -> 'a Base.Option.t
val pop_exn : 'a t -> 'a
val pop_if_with_key : 'a t -> (key:Key.t -> data:'a -> Base.Bool.t) -> (Key.t * 'a) Base.Option.t
val pop_if : 'a t -> ('a -> Base.Bool.t) -> 'a Base.Option.t
val find : 'a t -> Key.t -> 'a Base.Option.t
val find_pop : 'a t -> Key.t -> 'a Base.Option.t
val find_exn : 'a t -> Key.t -> 'a
val find_pop_exn : 'a t -> Key.t -> 'a
val iter_keys : _ t -> f:(Key.t -> Base.Unit.t) -> Base.Unit.t

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 -> Base.Unit.t) -> Base.Unit.t
val iteri : 'a t -> f:(key:Key.t -> data:'a -> Base.Unit.t) -> Base.Unit.t
val iter_vals : 'a t -> f:('a -> Base.Unit.t) -> Base.Unit.t
  • deprecated [since 2016-04] Use iter instead
val to_alist : 'a t -> (Key.t * 'a) Base.List.t

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

val length : 'a t -> Base.Int.t
OCaml

Innovation. Community. Security.