Up – base » Base » Hashtblval hash_param : int -> int -> 'a -> int
val create :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a , 'b ) t
val of_alist :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a * 'b ) list ->
[ `Duplicate_key of 'a | `Ok of ('a , 'b ) t ]
val of_alist_report_all_dups :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a * 'b ) list ->
[ `Duplicate_keys of 'a list | `Ok of ('a , 'b ) t ]
val of_alist_or_error :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a * 'b ) list ->
(('a , 'b ) t , Base__.Info.t ) result
val of_alist_exn :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a * 'b ) list ->
('a , 'b ) t
val of_alist_multi :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
('a * 'b ) list ->
('a , 'b list ) t
val create_mapped :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
get_key :('r -> 'a ) ->
get_data :('r -> 'b ) ->
'r list ->
[ `Duplicate_keys of 'a list | `Ok of ('a , 'b ) t ]
val create_with_key :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
get_key :('r -> 'a ) ->
'r list ->
[ `Duplicate_keys of 'a list | `Ok of ('a , 'r ) t ]
val create_with_key_or_error :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
get_key :('r -> 'a ) ->
'r list ->
(('a , 'r ) t , Base__.Info.t ) result
val create_with_key_exn :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
get_key :('r -> 'a ) ->
'r list ->
('a , 'r ) t
val group :
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'a ) ->
get_key :('r -> 'a ) ->
get_data :('r -> 'b ) ->
combine :('b -> 'b -> 'b ) ->
'r list ->
('a , 'b ) t
val clear : ('a , 'b ) t -> unit
val copy : ('a , 'b ) t -> ('a , 'b ) t
val fold :
('a , 'b ) t ->
init :'acc ->
f :(key :'a key -> data :'b -> 'acc -> 'acc ) ->
'acc
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 choose_randomly :
?random_state :Base__.Random.State.t ->
('a , 'b ) t ->
('a key * 'b ) option
val choose_randomly_exn :
?random_state :Base__.Random.State.t ->
('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 update_and_return : ('a , 'b ) t -> 'a key -> f :('b option -> 'b ) -> 'b
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__.Either0.t ) ->
('a , 'c ) t * ('a , 'd ) t
val partition_mapi :
('a , 'b ) t ->
f :(key :'a key -> data :'b -> ('c , 'd ) Base__.Either0.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 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 , 'a ) t ->
(module Base__Hashtbl_intf.Key.S
with type t = 'key )
val invariant : ('a -> unit) -> ('b -> unit) -> ('a , 'b ) t -> unit
module type Multi = sig ... end
module type S_poly = sig ... end
type nonrec (!'key, 'data, !'z) create_options =
?growth_allowed :bool ->
?size :int ->
(module Base__Hashtbl_intf.Key.S with type t = 'key ) ->
'z
module Poly : sig ... end
module M (K : sig ... end ) : sig ... end
val equal_m__t :
(module Equal_m ) ->
('v -> 'v -> bool) ->
('k , 'v ) t ->
('k , 'v ) t ->
bool