-
containers
-
containers.data
-
containers.monomorphic
-
containers.sexp
-
containers.top
Library
Module
Module type
Parameter
Class
Class type
Parameters
module H : HashedType
Signature
type key = H.t
val empty : unit -> 'a t
Empty table. The table will be allocated at the first binding.
val create : int -> 'a t
Create a new hashtable, with the given initial capacity.
val is_empty : 'a t -> bool
Is the table empty?
Find the value for this key, or fails.
- raises Not_found
if the key is not present in the table.
val length : _ t -> int
Number of bindings.
Add the binding to the table, returning a new table. The old binding for this key, if it exists, is shadowed and will be restored upon remove tbl k
.
- since 0.14
Add the binding to the table, returning a new table. This erases the current binding for key
, if any.
update tbl key f
calls f None
if key
doesn't belong in tbl
, f (Some v)
if key -> v
otherwise; If f
returns None
then key
is removed, else it returns Some v'
and key -> v'
is added.
Fresh copy of the table; the underlying structure is not shared anymore, so using both tables alternatively will be efficient.
val merge :
f:(key -> [ `Left of 'a | `Right of 'b | `Both of 'a * 'b ] -> 'c option) ->
'a t ->
'b t ->
'c t
Merge two tables together into a new table. The function's argument correspond to values associated with the key (if present); if the function returns None
the key will not appear in the result.
Conversions
Misc
val stats : _ t -> Hashtbl.statistics
Statistics on the internal table.
- since 0.14