module Hashtbl:sig
..end
type('a, 'b)
t =('a, 'b) Stdlib.Hashtbl.t
The type of a hashtable.
val exists : ('a, 'b) t -> 'a -> bool
exists h k
returns true is at least one item with key k
is
found in the hashtable.
val keys : ('a, 'b) t -> 'a Enum.t
Return an enumeration of all the keys of a hashtable. If the key is in the Hashtable multiple times, all occurrences will be returned.
val values : ('a, 'b) t -> 'b Enum.t
Return an enumeration of all the values of a hashtable.
val enum : ('a, 'b) t -> ('a * 'b) Enum.t
Return an enumeration of (key,value) pairs of a hashtable.
val of_enum : ('a * 'b) Enum.t -> ('a, 'b) t
Create a hashtable from a (key,value) enumeration.
val find_default : ('a, 'b) t -> 'a -> 'b -> 'b
Find a binding for the key, and return a default value if not found
val find_opt : ('a, 'b) Stdlib.Hashtbl.t -> 'a -> 'b option
Find a binding for the key, or return None
if no
value is found
val find_option : ('a, 'b) Stdlib.Hashtbl.t -> 'a -> 'b option
compatibility, use find_opt
val remove_all : ('a, 'b) t -> 'a -> unit
Remove all bindings for the given key
val map : ('b -> 'c) -> ('a, 'b) t -> ('a, 'c) t
map f x
creates a new hashtable with the same
keys as x
, but with the function f
applied to
all the values
val length : ('a, 'b) t -> int
Return the number of elements inserted into the Hashtbl (including duplicates)
val reset : ('a, 'b) t -> unit
val randomize : unit -> unit
typestatistics =
Stdlib.Hashtbl.statistics
= {
|
num_bindings : |
|
num_buckets : |
|
max_bucket_length : |
|
bucket_histogram : |
}
val stats : ('a, 'b) t -> statistics
val seeded_hash_param : int -> int -> int -> 'a -> int
val seeded_hash : int -> 'a -> int
val is_randomized : unit -> bool
val filter_map_inplace : ('a -> 'b -> 'b option) -> ('a, 'b) t -> unit
Please refer to the Ocaml Manual for documentation of these functions.
val create : ?random:bool -> int -> ('a, 'b) t
random
is ignoredval clear : ('a, 'b) t -> unit
val add : ('a, 'b) t -> 'a -> 'b -> unit
val copy : ('a, 'b) t -> ('a, 'b) t
val find : ('a, 'b) t -> 'a -> 'b
val find_all : ('a, 'b) t -> 'a -> 'b list
val mem : ('a, 'b) t -> 'a -> bool
val remove : ('a, 'b) t -> 'a -> unit
val replace : ('a, 'b) t -> 'a -> 'b -> unit
val iter : ('a -> 'b -> unit) -> ('a, 'b) t -> unit
val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val hash : 'a -> int
val hash_param : int -> int -> 'a -> int
val to_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t
*_seq
functions were introduced in OCaml 4.07.0, and are _not_ implemented in extlib for older OCaml versions
val to_seq_keys : ('a, 'b) t -> 'a Stdlib.Seq.t
val to_seq_values : ('a, 'b) t -> 'b Stdlib.Seq.t
val add_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
val replace_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit
val of_seq : ('a * 'b) Stdlib.Seq.t -> ('a, 'b) t
Functor interface forwards directly to stdlib implementation (i.e. no enum functions)
module type HashedType = Stdlib.Hashtbl.HashedType
module type S = Stdlib.Hashtbl.S
module Make: Stdlib.Hashtbl.Make
module type SeededHashedType = Stdlib.Hashtbl.SeededHashedType
module type SeededS = Stdlib.Hashtbl.SeededS
module MakeSeeded: Stdlib.Hashtbl.MakeSeeded