include module type of Hashtbl with type Hashtbl.statistics = Hashtbl.statistics and module Hashtbl.Make = Hashtbl.Make and type ('a, 'b) Hashtbl.t = ('a, 'b) Hashtbl.tval create : ?random:bool ‑> int ‑> ('a, 'b) tval clear : ('a, 'b) t ‑> unitval reset : ('a, 'b) t ‑> unitval add : ('a, 'b) t ‑> 'a ‑> 'b ‑> unitval find : ('a, 'b) t ‑> 'a ‑> 'bval find_opt : ('a, 'b) t ‑> 'a ‑> 'b optionval find_all : ('a, 'b) t ‑> 'a ‑> 'b listval mem : ('a, 'b) t ‑> 'a ‑> boolval remove : ('a, 'b) t ‑> 'a ‑> unitval replace : ('a, 'b) t ‑> 'a ‑> 'b ‑> unitval iter : ('a ‑> 'b ‑> unit) ‑> ('a, 'b) t ‑> unitval filter_map_inplace : ('a ‑> 'b ‑> 'b option) ‑> ('a, 'b) t ‑> unitval fold : ('a ‑> 'b ‑> 'c ‑> 'c) ‑> ('a, 'b) t ‑> 'c ‑> 'cval length : ('a, 'b) t ‑> intval stats : ('a, 'b) t ‑> statisticsmodule type HashedType : sig ... endmodule type S : sig ... endmodule type SeededHashedType : sig ... endmodule type SeededS : sig ... endmodule MakeSeeded : functor (H : SeededHashedType) -> sig ... endinclude CCHashtbl.Polyval get_or : ('a, 'b) Hashtbl.t ‑> 'a ‑> default:'b ‑> 'bget_or tbl k ~default returns the value associated to k if present,
and returns default otherwise (if k doesn't belong in tbl).
val keys : ('a, 'b) Hashtbl.t ‑> 'a CCHashtbl.sequenceIterate on keys (similar order as Hashtbl.iter).
val keys_list : ('a, 'b) Hashtbl.t ‑> 'a listkeys_list t is the list of keys in t.
If the key is in the Hashtable multiple times, all occurrences will be returned.
val map_list : ('a ‑> 'b ‑> 'c) ‑> ('a, 'b) Hashtbl.t ‑> 'c listMap on a hashtable's items, collect into a list.
val incr : ?by:int ‑> ('a, int) Hashtbl.t ‑> 'a ‑> unitincr ?by tbl x increments or initializes the counter associated with x.
If get tbl x = None, then after update, get tbl x = Some 1;
otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
by rather than 1.val decr : ?by:int ‑> ('a, int) Hashtbl.t ‑> 'a ‑> unitLike incr but subtract 1 (or the value of by).
If the value reaches 0, the key is removed from the table.
This does nothing if the key is not already present in the table.
val add_list : ('a, 'b list) Hashtbl.t ‑> 'a ‑> 'b ‑> unitadd_list tbl x y adds y to the list x is bound to. If x is
not bound, it becomes bound to y.
val add_seq : ('a, 'b) Hashtbl.t ‑> ('a * 'b) CCHashtbl.sequence ‑> unitAdd the corresponding pairs to the table, using Hashtbl.add.
val of_seq : ('a * 'b) CCHashtbl.sequence ‑> ('a, 'b) Hashtbl.tFrom the given bindings, added in order.
val add_seq_count : ('a, int) Hashtbl.t ‑> 'a CCHashtbl.sequence ‑> unitadd_seq_count tbl seq increments the count of each element of seq
by calling incr. This is useful for counting how many times each
element of seq occurs.
val of_seq_count : 'a CCHashtbl.sequence ‑> ('a, int) Hashtbl.tLike add_seq_count, but allocates a new table and returns it.
val of_list : ('a * 'b) list ‑> ('a, 'b) Hashtbl.tBuild a table from the given list of bindings k_i -> v_i,
added in order using add. If a key occurs several times,
it will be added several times, and the visible binding
will be the last one.
val update : ('a, 'b) Hashtbl.t ‑> f:('a ‑> 'b option ‑> 'b option) ‑> k:'a ‑> unitupdate tbl ~f ~k updates key k by calling f k (Some v) if
k was mapped to v, or f k None otherwise; if the call
returns None then k is removed/stays removed, if the call
returns Some v' then the binding k -> v' is inserted
using Hashtbl.replace.
val get_or_add : ('a, 'b) Hashtbl.t ‑> f:('a ‑> 'b) ‑> k:'a ‑> 'bget_or_add tbl ~k ~f finds and returns the binding of k
in tbl, if it exists. If it does not exist, then f k
is called to obtain a new binding v; k -> v is added
to tbl and v is returned.
val pp : 'a CCHashtbl.printer ‑> 'b CCHashtbl.printer ‑> ('a, 'b) Hashtbl.t CCHashtbl.printermodule type S' = CCHashtbl.Smodule Make' = CCHashtbl.Make