type key = t
val empty : 'a t
val is_empty : 'a t -> bool
superpose a b
is b
augmented with bindings of a
that are not in b
.
val compare : 'a t -> 'a t -> compare:('a -> 'a -> Ordering.t) -> Ordering.t
val iter : 'a t -> f:('a -> unit) -> unit
val fold : 'a t -> init:'b -> f:('a -> 'b -> 'b) -> 'b
val for_all : 'a t -> f:('a -> bool) -> bool
val exists : 'a t -> f:('a -> bool) -> bool
val cardinal : 'a t -> int
Return a map of (k, v)
bindings such that:
v = f init @@ f v1 @@ fv2 @@ ... @@ f vn
where v1
, v2
, ... vn
are the values associated to k
in the input list, in the order in which they appear. This is essentially a more efficient version of:
of_list_multi l |> map ~f:(List.fold_left ~init ~f)
val values : 'a t -> 'a list
is_subset t ~of_ ~f
is true
iff all keys in t
are in of_
and f
is true
for all keys that are in both.
module Multi : sig ... end