module Fmap_map: functor (
Key
:
Set.OrderedType
) ->
sig
.. end
type
k = Key.t
module S: Set.Make
(
Key
)
type 'a
t = 'a M.t
val empty : 'a M.t
val is_empty : 'a M.t -> bool
val from_list : (M.key * 'a) list -> 'a M.t
val from_list2 : M.key list -> 'a list -> 'a M.t
val insert : 'a M.t ->
M.key * 'a -> 'a M.t
val union : 'a M.t ->
'a M.t -> 'a M.t
val merge : (M.key -> 'a option -> 'b option -> 'c option) ->
'a M.t ->
'b M.t -> 'c M.t
val apply : 'a M.t -> M.key -> 'a option
val in_dom : M.key -> 'a M.t -> bool
val map : (M.key -> 'a -> 'b) ->
'a M.t -> 'b M.t
val domains_overlap : 'a M.t ->
'b M.t -> M.key option
val iter : (M.key -> 'a -> unit) ->
'a M.t -> unit
val fold : ('a -> M.key -> 'b -> 'a) ->
'a -> 'b M.t -> 'a
val filter : (M.key -> 'a -> bool) ->
'a M.t -> 'a M.t
val remove : 'a M.t ->
M.key -> 'a M.t
val pp_map : (Format.formatter -> M.key -> unit) ->
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a M.t -> unit
val big_union : 'a M.t list -> 'a M.t
val domains_disjoint : 'a M.t list -> bool
val domain : 'a M.t -> S.t