Module type Hashtbl.S'
include Hashtbl.S
val create : int -> 'a tval clear : 'a t -> unitval reset : 'a t -> unitval copy : 'a t -> 'a tval add : 'a t -> key -> 'a -> unitval remove : 'a t -> key -> unitval find : 'a t -> key -> 'aval find_opt : 'a t -> key -> 'a optionval find_all : 'a t -> key -> 'a listval replace : 'a t -> key -> 'a -> unitval mem : 'a t -> key -> boolval iter : (key -> 'a -> unit) -> 'a t -> unitval filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unitval fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'bval length : 'a t -> intval stats : 'a t -> Hashtbl.statistics
val get_or : 'a t -> key -> default:'a -> 'aget_or tbl k ~defaultreturns the value associated tokif present, and returnsdefaultotherwise (ifkdoesn't belong intbl).- since
- 0.16
val add_list : 'a list t -> key -> 'a -> unitadd_list tbl x yaddsyto the listxis bound to. Ifxis not bound, it becomes bound toy.- since
- 0.16
val incr : ?by:int -> int t -> key -> unitincr ?by tbl xincrements or initializes the counter associated withx. Ifget tbl x = None, then after update,get tbl x = Some 1; otherwise, ifget tbl x = Some n, nowget tbl x = Some (n+1).- parameter by
if specified, the int value is incremented by
byrather than 1.
- since
- 0.16
val decr : ?by:int -> int t -> key -> unitLike
incrbut subtract 1 (or the value ofby). 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.- since
- 0.16
val keys : 'a t -> key CCHashtbl.iterIterate on keys (similar order as
Hashtbl.iter).
val values : 'a t -> 'a CCHashtbl.iterIterate on values in the table.
val keys_list : _ t -> key listkeys_list tis the list of keys int. If the key is in the Hashtable multiple times, all occurrences will be returned.- since
- 0.8
val values_list : 'a t -> 'a listvalues_list tis the list of values int.- since
- 0.8
val to_iter : 'a t -> (key * 'a) CCHashtbl.iterIterate on bindings in the table.
- since
- 2.8
val to_seq : 'a t -> (key * 'a) CCHashtbl.sequenceval add_iter : 'a t -> (key * 'a) CCHashtbl.iter -> unitAdd the corresponding pairs to the table, using
Hashtbl.add.- since
- 2.8
val add_std_seq : 'a t -> (key * 'a) Seq.t -> unitAdd the corresponding pairs to the table, using
Hashtbl.add.- since
- 2.8
val add_seq : 'a t -> (key * 'a) CCHashtbl.sequence -> unitval of_iter : (key * 'a) CCHashtbl.iter -> 'a tFrom the given bindings, added in order.
- since
- 2.8
val of_seq : (key * 'a) CCHashtbl.sequence -> 'a tval add_iter_count : int t -> key CCHashtbl.iter -> unitadd_iter_count tbl iincrements the count of each element ofiby callingincr. This is useful for counting how many times each element ofioccurs.- since
- 2.8
val add_std_seq_count : int t -> key Seq.t -> unitadd_seq_count tbl seqincrements the count of each element ofseqby callingincr. This is useful for counting how many times each element ofseqoccurs.- since
- 2.8
val add_seq_count : int t -> key CCHashtbl.sequence -> unitval of_iter_count : key CCHashtbl.iter -> int tLike
add_seq_count, but allocates a new table and returns it.- since
- 2.8
val of_std_seq_count : key Seq.t -> int tLike
add_seq_count, but allocates a new table and returns it.- since
- 2.8
val of_seq_count : key CCHashtbl.sequence -> int tval to_list : 'a t -> (key * 'a) listList of bindings (order unspecified).
val of_list : (key * 'a) list -> 'a tBuild a table from the given list of bindings
k_i -> v_i, added in order usingadd. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val update : 'a t -> f:(key -> 'a option -> 'a option) -> k:key -> unitupdate tbl ~f ~kupdates keykby callingf k (Some v)ifkwas mapped tov, orf k Noneotherwise; if the call returnsNonethenkis removed/stays removed, if the call returnsSome v'then the bindingk -> v'is inserted usingHashtbl.replace.- since
- 0.14
val get_or_add : 'a t -> f:(key -> 'a) -> k:key -> 'aget_or_add tbl ~k ~ffinds and returns the binding ofkintbl, if it exists. If it does not exist, thenf kis called to obtain a new bindingv;k -> vis added totblandvis returned.- since
- 1.0
val pp : key CCHashtbl.printer -> 'a CCHashtbl.printer -> 'a t CCHashtbl.printerPrinter for tables. Renamed from
printsince 2.0.- since
- 0.13