X : ORD
type key
= X.t
type t
A map containing values of different types, indexed by key.
val empty : t
Empty map.
val get : inj:'a injection ‑> key ‑> t ‑> 'a option
Get the value corresponding to this key, if it exists and belongs to the same key.
val add : inj:'a injection ‑> key ‑> 'a ‑> t ‑> t
Bind the key to the value, using inj.
inj
val find : inj:'a injection ‑> key ‑> t ‑> 'a
Find the value for the given key, which must be of the right type.
val cardinal : t ‑> int
Number of bindings.
val remove : key ‑> t ‑> t
Remove the binding for this key.
val mem : inj:_ injection ‑> key ‑> t ‑> bool
Is the given key in the map, with the right type?
val iter_keys : f:(key ‑> unit) ‑> t ‑> unit
Iterate on the keys of this map.
val fold_keys : f:('a ‑> key ‑> 'a) ‑> x:'a ‑> t ‑> 'a
Fold over the keys.
type 'a sequence
= ('a ‑> unit) ‑> unit
val keys_seq : t ‑> key sequence
All the keys.
val bindings_of : inj:'a injection ‑> t ‑> (key * 'a) sequence
All the bindings that come from the corresponding injection.
type value
=
|
Value : ('a injection ‑> 'a option) ‑> value
val bindings : t ‑> (key * value) sequence
Iterate on all bindings.