Module Names.Cmap_env
A map whose keys are constants (values of the Constant.t type). Keys are ordered wrt. "user form" of the constant.
The underlying Map library
include CSig.MapS
- val empty : 'a t
- val is_empty : 'a t -> bool
- val mem : key -> 'a t -> bool
- val add : key -> 'a -> 'a t -> 'a t
- val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
- val singleton : key -> 'a -> 'a t
- val remove : key -> 'a t -> 'a t
- val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
- val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
- val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
- val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
- val iter : (key -> 'a -> unit) -> 'a t -> unit
- val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
- val for_all : (key -> 'a -> bool) -> 'a t -> bool
- val exists : (key -> 'a -> bool) -> 'a t -> bool
- val filter : (key -> 'a -> bool) -> 'a t -> 'a t
- val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
- val cardinal : 'a t -> int
- val bindings : 'a t -> (key * 'a) list
- val min_binding : 'a t -> key * 'a
- val max_binding : 'a t -> key * 'a
- val choose : 'a t -> key * 'a
- val choose_opt : 'a t -> (key * 'a) option
- val split : key -> 'a t -> 'a t * 'a option * 'a t
- val find : key -> 'a t -> 'a
- val find_opt : key -> 'a t -> 'a option
- val map : ('a -> 'b) -> 'a t -> 'b t
- val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
- val set : key -> 'a -> 'a t -> 'a t
- Same as - add, but expects the key to be present, and thus faster.- raises Not_found
- when the key is unbound in the map. 
 
- val modify : key -> (key -> 'a -> 'a) -> 'a t -> 'a t
- Apply the given function to the binding of the given key. - raises Not_found
- when the key is unbound in the map. 
 
- val bind : (key -> 'a) -> Set.t -> 'a t
- bind f stransform the set- x1; ...; xninto- x1 := f x1; ...; xn := f xn.
- val fold_left : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
- Alias for - fold, to easily track where we depend on fold order.
- val height : 'a t -> int
- An indication of the logarithmic size of a map 
- val filter_range : (key -> int) -> 'a t -> 'a t
- find_range in_range mGiven a comparison function- in_range x, that tests if- xis below, above, or inside a given range- filter_rangereturns the submap of- mwhose keys are in range. Note that- in_rangehas to define a continouous range.
- val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
- Like - mapbut keeping only bindings mapped to- Some
- val symmetric_diff_fold : (key -> 'a option -> 'a option -> 'b -> 'b) -> 'a t -> 'a t -> 'b -> 'b
- symmetric_diff f ml mr accwill efficiently fold over the difference between- mland- mr, assumed that they share most of their internal structure. A call to- f k vl vrmeans that if- vlis- Some, then- kexists in- ml. Similarly, if- vris- Some, then- kexists in- mr. If both- vland- vrare- Some, then- vl != vr.
module Smart : sig ... end- module Monad : functor (M : Util.Map.MonadS) -> sig ... end
- Fold operators parameterized by any monad.