dolmen.std
Hmap.Make
dolmen
dolmen.ae
dolmen.class
dolmen.dimacs
dolmen.icnf
dolmen.intf
dolmen.line
dolmen.smtlib2
dolmen.tptp
dolmen.zf
dolmen_smtlib2_poly
dolmen_smtlib2_v6
dolmen_smtlib2_v6_response
dolmen_smtlib2_v6_script
dolmen_tptp_v6_3_0
module X : ORD
type key = X.t
type t
A map containing values of different types, indexed by key.
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.
Not_found
if either the key is not found, or if its value doesn't belong to 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 iter = ('a -> unit) -> unit
val keys_iter : t -> key iter
All the keys.
val bindings_of : inj:'a injection -> t -> (key * 'a) iter
All the bindings that come from the corresponding injection.
type value =
| Value : ('a injection -> 'a option) -> value
val bindings : t -> (key * value) iter
Iterate on all bindings.