module type S =sig..end
val clear : ('a, 'b) T.t -> unitval copy : ('a, 'b) T.t -> ('a, 'b) T.tval invariant : ('a, 'b) T.t -> unitval fold : ('a, 'b) T.t ->
init:'c -> f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> 'c -> 'c) -> 'cval iter : ('a, 'b) T.t -> f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> unit) -> unitval existsi : ('a, 'b) T.t -> f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> bool) -> boolval exists : ('a, 'b) T.t -> f:('b -> bool) -> boolval length : ('a, 'b) T.t -> intval is_empty : ('a, 'b) T.t -> boolval mem : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t -> boolval remove : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t -> unitval remove_one : ('a, 'b list) T.t -> 'a Core_hashtbl_intf.Key.t -> unitval replace : ('a, 'b) T.t -> key:'a Core_hashtbl_intf.Key.t -> data:'b -> unitval change : ('a, 'b) T.t ->
'a Core_hashtbl_intf.Key.t -> ('b option -> 'b option) -> unitchange t key f updates the given table by changing the value stored under key
according to f, just like Map.change (see that for example).val add_multi : ('a, 'b list) T.t -> key:'a Core_hashtbl_intf.Key.t -> data:'b -> unitval map : ('a, 'b) T.t -> f:('b -> 'c) -> ('a, 'c) T.tmap t f returns new table with bound values replaced by
f applied to the bound valuesval mapi : ('a, 'b) T.t ->
f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> 'c) -> ('a, 'c) T.tmap, but function takes both key and data as argumentsval filter_map : ('a, 'b) T.t -> f:('b -> 'c option) -> ('a, 'c) T.tval filter_mapi : ('a, 'b) T.t ->
f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> 'c option) -> ('a, 'c) T.tfilter_map, but function takes both key and data as argumentsval filter : ('a, 'b) T.t -> f:('b -> bool) -> ('a, 'b) T.tval filteri : ('a, 'b) T.t ->
f:(key:'a Core_hashtbl_intf.Key.t -> data:'b -> bool) -> ('a, 'b) T.tval find_or_add : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t -> default:(unit -> 'b) -> 'bfind_or_add t k ~default returns the data associated with key k if it
is in the table t, otherwise it lets d = default() and adds it to the
table.val find : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t -> 'b optionfind t k returns Some (the current binding) of k in t, or None if no
such binding existsval find_exn : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t -> 'bfind_exn t k returns the current binding of k in t, or raises Not_found
if no such binding exists.
iter_vals t ~f is like iter, except it only supplies the value to f,
not the key.
val iter_vals : ('a, 'b) T.t -> f:('b -> unit) -> unit
The result of merge f h1 h2 has as keys the set of all k in the
union of the sets of keys of h1 and h2 for which d(k) is not
None, where:
d(k) =
k in h1 is to d1,
and h2 does not map k;k in h2 is to d2,
and h1 does not map k;k in h1
is to d1 and the *most recent* binding of k in h2
is to d2.k is mapped to a single piece of data x, where
d(k) = Some x.val merge : f:(key:'a Core_hashtbl_intf.Key.t -> 'b option -> 'c option -> 'd option) ->
('a, 'b) T.t -> ('a, 'c) T.t -> ('a, 'd) T.tval merge_into : f:(key:'a Core_hashtbl_intf.Key.t -> 'b -> 'b option -> 'b option) ->
src:('a, 'b) T.t -> dst:('a, 'b) T.t -> unit
After merge_into f src dst, for every key in src, key will be
re-mapped in dst to v if f ~key d1 (find dst key) = Some v.
val keys : ('a, 'b) T.t -> 'a Core_hashtbl_intf.Key.t list
Returns the list of all data for given hashtable.
val data : ('a, 'b) T.t -> 'b listfilter_inplace t ~f removes all the elements from t that don't
* satisfy f.val filter_inplace : ('a, 'b) T.t -> f:('b -> bool) -> unitval filteri_inplace : ('a, 'b) T.t -> f:('a Core_hashtbl_intf.Key.t -> 'b -> bool) -> unitval equal : ('a, 'b) T.t -> ('a, 'b) T.t -> ('b -> 'b -> bool) -> boolval to_alist : ('a, 'b) T.t -> ('a Core_hashtbl_intf.Key.t * 'b) listval incr : ?by:int -> ('a, int) T.t -> 'a Core_hashtbl_intf.Key.t -> unit