sig
type 'a key
module Key :
sig
type 'a info
val create : 'a Hmap.S.Key.info -> 'a Hmap.S.key
val info : 'a Hmap.S.key -> 'a Hmap.S.Key.info
type t
val hide_type : 'a Hmap.S.key -> Hmap.S.Key.t
val equal : Hmap.S.Key.t -> Hmap.S.Key.t -> bool
val compare : Hmap.S.Key.t -> Hmap.S.Key.t -> int
end
type t
val empty : Hmap.S.t
val is_empty : Hmap.S.t -> bool
val mem : 'a Hmap.S.key -> Hmap.S.t -> bool
val add : 'a Hmap.S.key -> 'a -> Hmap.S.t -> Hmap.S.t
val singleton : 'a Hmap.S.key -> 'a -> Hmap.S.t
val rem : 'a Hmap.S.key -> Hmap.S.t -> Hmap.S.t
val find : 'a Hmap.S.key -> Hmap.S.t -> 'a option
val get : 'a Hmap.S.key -> Hmap.S.t -> 'a
type binding = B : 'a Hmap.S.key * 'a -> Hmap.S.binding
val iter : (Hmap.S.binding -> unit) -> Hmap.S.t -> unit
val fold : (Hmap.S.binding -> 'a -> 'a) -> Hmap.S.t -> 'a -> 'a
val for_all : (Hmap.S.binding -> bool) -> Hmap.S.t -> bool
val exists : (Hmap.S.binding -> bool) -> Hmap.S.t -> bool
val filter : (Hmap.S.binding -> bool) -> Hmap.S.t -> Hmap.S.t
val cardinal : Hmap.S.t -> int
val any_binding : Hmap.S.t -> Hmap.S.binding option
val get_any_binding : Hmap.S.t -> Hmap.S.binding
end