Module Core_kernel.Hashtbl

include Hashtbl_intf.Hashtbl with type ('a, 'b) t = ('a'bBase.Hashtbl.t
val hash : 'a ‑> int
val hash_param : int ‑> int ‑> 'a ‑> int
type ('a, 'b) t
val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> ('b ‑> Base.Sexp.t) ‑> ('a'bt ‑> Base.Sexp.t
val create : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a'bt
val of_alist : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a * 'b) list ‑> [ `Duplicate_key of 'a | `Ok of ('a'bt ]
val of_alist_report_all_dups : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a * 'b) list ‑> [ `Duplicate_keys of 'a list | `Ok of ('a'bt ]
val of_alist_or_error : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a * 'b) list ‑> ('a'bt Base.Or_error.t
val of_alist_exn : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a * 'b) list ‑> ('a'bt
val of_alist_multi : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> ('a * 'b) list ‑> ('a'b list) t
val create_mapped : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> get_key:('r ‑> 'a) ‑> get_data:('r ‑> 'b) ‑> 'r list ‑> [ `Duplicate_keys of 'a list | `Ok of ('a'bt ]
val create_with_key : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> get_key:('r ‑> 'a) ‑> 'r list ‑> [ `Duplicate_keys of 'a list | `Ok of ('a'rt ]
val create_with_key_or_error : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> get_key:('r ‑> 'a) ‑> 'r list ‑> ('a'rt Base.Or_error.t
val create_with_key_exn : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> get_key:('r ‑> 'a) ‑> 'r list ‑> ('a'rt
val group : ?⁠growth_allowed:bool ‑> ?⁠size:int ‑> (module Base__.Hashtbl_intf.Key with type t = 'a) ‑> get_key:('r ‑> 'a) ‑> get_data:('r ‑> 'b) ‑> combine:('b ‑> 'b ‑> 'b) ‑> 'r list ‑> ('a'bt
type 'a key = 'a
val sexp_of_key : ('a'bt ‑> 'a key ‑> Base.Sexp.t
val clear : ('a'bt ‑> unit
val copy : ('a'bt ‑> ('a'bt
val fold : ('a'bt ‑> init:'c ‑> f:(key:'a key ‑> data:'b ‑> 'c ‑> 'c) ‑> 'c
val iter_keys : ('a'bt ‑> f:('a key ‑> unit) ‑> unit
val iter : ('a'bt ‑> f:('b ‑> unit) ‑> unit
val iteri : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> unit) ‑> unit
val existsi : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> bool
val exists : ('a'bt ‑> f:('b ‑> bool) ‑> bool
val for_alli : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> bool
val for_all : ('a'bt ‑> f:('b ‑> bool) ‑> bool
val counti : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> int
val count : ('a'bt ‑> f:('b ‑> bool) ‑> int
val length : ('a'bt ‑> int
val is_empty : ('a'bt ‑> bool
val mem : ('a'bt ‑> 'a key ‑> bool
val remove : ('a'bt ‑> 'a key ‑> unit
val set : ('a'bt ‑> key:'a key ‑> data:'b ‑> unit
val add : ('a'bt ‑> key:'a key ‑> data:'b ‑> [ `Duplicate | `Ok ]
val add_exn : ('a'bt ‑> key:'a key ‑> data:'b ‑> unit
val change : ('a'bt ‑> 'a key ‑> f:('b option ‑> 'b option) ‑> unit
val update : ('a'bt ‑> 'a key ‑> f:('b option ‑> 'b) ‑> unit
val map : ('a'bt ‑> f:('b ‑> 'c) ‑> ('a'ct
val mapi : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'c) ‑> ('a'ct
val filter_map : ('a'bt ‑> f:('b ‑> 'c option) ‑> ('a'ct
val filter_mapi : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'c option) ‑> ('a'ct
val filter_keys : ('a'bt ‑> f:('a key ‑> bool) ‑> ('a'bt
val filter : ('a'bt ‑> f:('b ‑> bool) ‑> ('a'bt
val filteri : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> ('a'bt
val partition_map : ('a'bt ‑> f:('b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a'ct * ('a'dt
val partition_mapi : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a'ct * ('a'dt
val partition_tf : ('a'bt ‑> f:('b ‑> bool) ‑> ('a'bt * ('a'bt
val partitioni_tf : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> ('a'bt * ('a'bt
val find_or_add : ('a'bt ‑> 'a key ‑> default:(unit ‑> 'b) ‑> 'b
val findi_or_add : ('a'bt ‑> 'a key ‑> default:('a key ‑> 'b) ‑> 'b
val find : ('a'bt ‑> 'a key ‑> 'b option
val find_exn : ('a'bt ‑> 'a key ‑> 'b
val find_and_call : ('a'bt ‑> 'a key ‑> if_found:('b ‑> 'c) ‑> if_not_found:('a key ‑> 'c) ‑> 'c
val findi_and_call : ('a'bt ‑> 'a key ‑> if_found:(key:'a key ‑> data:'b ‑> 'c) ‑> if_not_found:('a key ‑> 'c) ‑> 'c
val find_and_remove : ('a'bt ‑> 'a key ‑> 'b option
val merge : ('k'at ‑> ('k'bt ‑> f:(key:'k key ‑> [ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] ‑> 'c option) ‑> ('k'ct
type 'a merge_into_action =
| Remove
| Set_to of 'a
val merge_into : src:('k'at ‑> dst:('k'bt ‑> f:(key:'k key ‑> 'a ‑> 'b option ‑> 'b merge_into_action) ‑> unit
val keys : ('a'bt ‑> 'a key list
val data : ('a'bt ‑> 'b list
val filter_keys_inplace : ('a'bt ‑> f:('a key ‑> bool) ‑> unit
val filter_inplace : ('a'bt ‑> f:('b ‑> bool) ‑> unit
val filteri_inplace : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> bool) ‑> unit
val map_inplace : ('a'bt ‑> f:('b ‑> 'b) ‑> unit
val mapi_inplace : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'b) ‑> unit
val filter_map_inplace : ('a'bt ‑> f:('b ‑> 'b option) ‑> unit
val filter_mapi_inplace : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'b option) ‑> unit
val equal : ('a'bt ‑> ('a'bt ‑> ('b ‑> 'b ‑> bool) ‑> bool
val similar : ('a'b1t ‑> ('a'b2t ‑> ('b1 ‑> 'b2 ‑> bool) ‑> bool
val to_alist : ('a'bt ‑> ('a key * 'b) list
val validate : name:('a key ‑> string) ‑> 'b Base.Validate.check ‑> ('a'bt Base.Validate.check
val incr : ?⁠by:int ‑> ?⁠remove_if_zero:bool ‑> ('a, int) t ‑> 'a key ‑> unit
val decr : ?⁠by:int ‑> ?⁠remove_if_zero:bool ‑> ('a, int) t ‑> 'a key ‑> unit
val add_multi : ('a'b list) t ‑> key:'a key ‑> data:'b ‑> unit
val remove_multi : ('a'b list) t ‑> 'a key ‑> unit
val find_multi : ('a'b list) t ‑> 'a key ‑> 'b list
val hashable_s : ('key'at ‑> (module Base__.Hashtbl_intf.Key with type t = 'key)
module Using_hashable : sig ... end
module Poly : sig ... end
module type Key_plain = Hashtbl_intf.Key_plain
module type Key = Hashtbl_intf.Key
module type S_plain : Hashtbl_intf.S_plain with type ('a, 'b) hashtbl = ('a'bt
module type S : Hashtbl_intf.S with type ('a, 'b) hashtbl = ('a'bt
module type S_binable : Hashtbl_intf.S_binable with type ('a, 'b) hashtbl = ('a'bt
module Make_plain : functor (Key : Key_plain) -> S_plain with type key = Key.t
module Make : functor (Key : Key) -> S with type key = Key.t
module Make_binable : functor (Key : Key_binable) -> S_binable with type key = Key.t
module M : functor (K : Base.T.T) -> sig ... end
module Hashable = Hashtbl_intf.Hashable
val hashable : ('key_t ‑> 'key Hashable.t
val iter_vals : (_'bt ‑> f:('b ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit
  • Deprecated [since 2016-04] Use iter instead
val replace : ('a'bt ‑> key:'a key ‑> data:'b ‑> Core_kernel__.Import.unit
  • Deprecated [since 2015-10] Use set instead
val replace_all : (_'bt ‑> f:('b ‑> 'b) ‑> Core_kernel__.Import.unit
  • Deprecated [since 2016-02] Use map_inplace instead
val replace_alli : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'b) ‑> Core_kernel__.Import.unit
  • Deprecated [since 2016-02] Use mapi_inplace instead
val filter_replace_all : (_'bt ‑> f:('b ‑> 'b Core_kernel__.Import.option) ‑> Core_kernel__.Import.unit
  • Deprecated [since 2016-02] Use filter_map_inplace instead
val filter_replace_alli : ('a'bt ‑> f:(key:'a key ‑> data:'b ‑> 'b Core_kernel__.Import.option) ‑> Core_kernel__.Import.unit
  • Deprecated [since 2016-02] Use filter_mapi_inplace instead