type ('a, 'b) hashtbl = ( 'a, 'b ) Core_kernel__Hashtbl.t
val sexp_of_t :
( 'b -> Ppx_sexp_conv_lib.Sexp.t ) ->
'b t ->
Ppx_sexp_conv_lib.Sexp.t
val hashable : key Core_kernel__Hashtbl_intf.Hashable.t
val invariant : 'a Base__Invariant_intf.inv -> 'a t Base__Invariant_intf.inv
val create :
( 'a key_, 'b, unit -> ( 'a, 'b ) t_ )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val of_alist :
( 'a key_,
'b,
('a key_ * 'b) list ->
[ `Duplicate_key of 'a key_ | `Ok of ( 'a, 'b ) t_ ] )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val of_alist_report_all_dups :
( 'a key_,
'b,
('a key_ * 'b) list ->
[ `Duplicate_keys of 'a key_ list | `Ok of ( 'a, 'b ) t_ ] )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val of_alist_or_error :
( 'a key_, 'b, ('a key_ * 'b) list -> ( 'a, 'b ) t_ Base__.Or_error.t )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val of_alist_exn :
( 'a key_, 'b, ('a key_ * 'b) list -> ( 'a, 'b ) t_ )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val of_alist_multi :
( 'a key_, 'b list, ('a key_ * 'b) list -> ( 'a, 'b list ) t_ )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val create_mapped :
( 'a key_,
'b,
get_key:( 'r -> 'a key_ ) ->
get_data:( 'r -> 'b ) ->
'r list ->
[ `Duplicate_keys of 'a key_ list | `Ok of ( 'a, 'b ) t_ ] )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val create_with_key :
( 'a key_,
'r,
get_key:( 'r -> 'a key_ ) ->
'r list ->
[ `Duplicate_keys of 'a key_ list | `Ok of ( 'a, 'r ) t_ ] )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val create_with_key_or_error :
( 'a key_,
'r,
get_key:( 'r -> 'a key_ ) ->
'r list ->
( 'a, 'r ) t_ Base__.Or_error.t )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val create_with_key_exn :
( 'a key_, 'r, get_key:( 'r -> 'a key_ ) -> 'r list -> ( 'a, 'r ) t_ )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val group :
( 'a key_,
'b,
get_key:( 'r -> 'a key_ ) ->
get_data:( 'r -> 'b ) ->
combine:( 'b -> 'b -> 'b ) ->
'r list ->
( 'a, 'b ) t_ )
Core_kernel__Hashtbl_intf.create_options_without_hashable
val sexp_of_key : ( 'a, 'b ) t_ -> 'a key_ -> Base__.Sexp.t
val clear : ( 'a, 'b ) t_ -> unit
val copy : ( 'a, 'b ) t_ -> ( 'a, 'b ) t_
val fold :
( 'a, 'b ) t_ ->
init:'c ->
f:( key:'a key_ -> data:'b -> 'c -> 'c ) ->
'c
val iter_keys : ( 'a, 'b ) t_ -> f:( 'a key_ -> unit ) -> unit
val iter : ( 'a, 'b ) t_ -> f:( 'b -> unit ) -> unit
val iteri : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> unit ) -> unit
val existsi : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> bool ) -> bool
val exists : ( 'a, 'b ) t_ -> f:( 'b -> bool ) -> bool
val for_alli : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> bool ) -> bool
val for_all : ( 'a, 'b ) t_ -> f:( 'b -> bool ) -> bool
val counti : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> bool ) -> int
val count : ( 'a, 'b ) t_ -> f:( 'b -> bool ) -> int
val length : ( 'a, 'b ) t_ -> int
val is_empty : ( 'a, 'b ) t_ -> bool
val mem : ( 'a, 'b ) t_ -> 'a key_ -> bool
val remove : ( 'a, 'b ) t_ -> 'a key_ -> unit
val choose : ( 'a, 'b ) t_ -> ('a key_ * 'b) option
val choose_exn : ( 'a, 'b ) t_ -> 'a key_ * 'b
val set : ( 'a, 'b ) t_ -> key:'a key_ -> data:'b -> unit
val add : ( 'a, 'b ) t_ -> key:'a key_ -> data:'b -> [ `Duplicate | `Ok ]
val add_exn : ( 'a, 'b ) t_ -> key:'a key_ -> data:'b -> unit
val change : ( 'a, 'b ) t_ -> 'a key_ -> f:( 'b option -> 'b option ) -> unit
val update : ( 'a, 'b ) t_ -> 'a key_ -> f:( 'b option -> 'b ) -> unit
val map : ( 'a, 'b ) t_ -> f:( 'b -> 'c ) -> ( 'a, 'c ) t_
val mapi : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> 'c ) -> ( 'a, 'c ) t_
val filter_map : ( 'a, 'b ) t_ -> f:( 'b -> 'c option ) -> ( 'a, 'c ) t_
val filter_mapi :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> 'c option ) ->
( 'a, 'c ) t_
val filter_keys : ( 'a, 'b ) t_ -> f:( 'a key_ -> bool ) -> ( 'a, 'b ) t_
val filter : ( 'a, 'b ) t_ -> f:( 'b -> bool ) -> ( 'a, 'b ) t_
val filteri :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> bool ) ->
( 'a, 'b ) t_
val partition_map :
( 'a, 'b ) t_ ->
f:( 'b -> ( 'c, 'd ) Base__.Either.t ) ->
( 'a, 'c ) t_ * ( 'a, 'd ) t_
val partition_mapi :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> ( 'c, 'd ) Base__.Either.t ) ->
( 'a, 'c ) t_ * ( 'a, 'd ) t_
val partition_tf :
( 'a, 'b ) t_ ->
f:( 'b -> bool ) ->
( 'a, 'b ) t_ * ( 'a, 'b ) t_
val partitioni_tf :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> bool ) ->
( 'a, 'b ) t_ * ( 'a, 'b ) t_
val find_or_add : ( 'a, 'b ) t_ -> 'a key_ -> default:( unit -> 'b ) -> 'b
val findi_or_add : ( 'a, 'b ) t_ -> 'a key_ -> default:( 'a key_ -> 'b ) -> 'b
val find : ( 'a, 'b ) t_ -> 'a key_ -> 'b option
val find_exn : ( 'a, 'b ) t_ -> 'a key_ -> 'b
val find_and_call :
( 'a, 'b ) t_ ->
'a key_ ->
if_found:( 'b -> 'c ) ->
if_not_found:( 'a key_ -> 'c ) ->
'c
val find_and_call1 :
( 'a, 'b ) t_ ->
'a key_ ->
a:'d ->
if_found:( 'b -> 'd -> 'c ) ->
if_not_found:( 'a key_ -> 'd -> 'c ) ->
'c
val find_and_call2 :
( 'a, 'b ) t_ ->
'a key_ ->
a:'d ->
b:'e ->
if_found:( 'b -> 'd -> 'e -> 'c ) ->
if_not_found:( 'a key_ -> 'd -> 'e -> 'c ) ->
'c
val findi_and_call :
( 'a, 'b ) t_ ->
'a key_ ->
if_found:( key:'a key_ -> data:'b -> 'c ) ->
if_not_found:( 'a key_ -> 'c ) ->
'c
val findi_and_call1 :
( 'a, 'b ) t_ ->
'a key_ ->
a:'d ->
if_found:( key:'a key_ -> data:'b -> 'd -> 'c ) ->
if_not_found:( 'a key_ -> 'd -> 'c ) ->
'c
val findi_and_call2 :
( 'a, 'b ) t_ ->
'a key_ ->
a:'d ->
b:'e ->
if_found:( key:'a key_ -> data:'b -> 'd -> 'e -> 'c ) ->
if_not_found:( 'a key_ -> 'd -> 'e -> 'c ) ->
'c
val find_and_remove : ( 'a, 'b ) t_ -> 'a key_ -> 'b option
val merge :
( 'k, 'a ) t_ ->
( 'k, 'b ) t_ ->
f:
( key:'k key_ ->
[ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] ->
'c option ) ->
( 'k, 'c ) t_
val merge_into :
src:( 'k, 'a ) t_ ->
dst:( 'k, 'b ) t_ ->
f:
( key:'k key_ ->
'a ->
'b option ->
'b Base__Hashtbl_intf.Merge_into_action.t ) ->
unit
val keys : ( 'a, 'b ) t_ -> 'a key_ list
val data : ( 'a, 'b ) t_ -> 'b list
val filter_keys_inplace : ( 'a, 'b ) t_ -> f:( 'a key_ -> bool ) -> unit
val filter_inplace : ( 'a, 'b ) t_ -> f:( 'b -> bool ) -> unit
val filteri_inplace :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> bool ) ->
unit
val map_inplace : ( 'a, 'b ) t_ -> f:( 'b -> 'b ) -> unit
val mapi_inplace : ( 'a, 'b ) t_ -> f:( key:'a key_ -> data:'b -> 'b ) -> unit
val filter_map_inplace : ( 'a, 'b ) t_ -> f:( 'b -> 'b option ) -> unit
val filter_mapi_inplace :
( 'a, 'b ) t_ ->
f:( key:'a key_ -> data:'b -> 'b option ) ->
unit
val equal : ( 'b -> 'b -> bool ) -> ( 'a, 'b ) t_ -> ( 'a, 'b ) t_ -> bool
val similar :
( 'b1 -> 'b2 -> bool ) ->
( 'a, 'b1 ) t_ ->
( 'a, 'b2 ) t_ ->
bool
val to_alist : ( 'a, 'b ) t_ -> ('a key_ * 'b) list
val validate :
name:( 'a key_ -> string ) ->
'b Base__.Validate.check ->
( 'a, 'b ) t_ 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 t_of_sexp :
( Ppx_sexp_conv_lib.Sexp.t -> 'a__002_ ) ->
Ppx_sexp_conv_lib.Sexp.t ->
'a__002_ t