Module Types.Cdmap


module Cdmap: Finite_map.Fmap  with type k = const_descr_ref

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