include Core.Sexpable.S2 with type (a, b) t := (a, b) t
val t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> (Base.Sexp.t ‑> 'b) ‑> Base.Sexp.t ‑> ('a, 'b) t
val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> ('b ‑> Base.Sexp.t) ‑> ('a, 'b) t ‑> Base.Sexp.t
val empty : ('k, 'v) t
val singleton : 'k ‑> 'v ‑> ('k, 'v) t
val is_empty : ('k, 'v) t ‑> bool
val find : ('k, 'v) t ‑> 'k ‑> 'v list
find m key
returns all the elements that where added to key
in m
in
the reverse order in which they where added. If no element where added an
empty list is returned.
val mem : ('k, 'v) t ‑> 'k ‑> bool
mem m key
returns true if key
has at last one value associated to it
in m
val iter : f:('v ‑> unit) ‑> (_, 'v) t ‑> unit
val iteri : f:(key:'k ‑> data:'v ‑> unit) ‑> ('k, 'v) t ‑> unit
val iter_keys : f:('k ‑> unit) ‑> ('k, _) t ‑> unit
val fold : f:(key:'k ‑> data:'v ‑> 'a ‑> 'a) ‑> ('k, 'v) t ‑> init:'a ‑> 'a
val reduce : f:('v list ‑> 'r) ‑> ('k, 'v) t ‑> ('k, 'r) Core.Map.Poly.t