Module Universe.Map
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 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 update : key -> ('a option -> 'a option) -> 'a t -> 'a t
- update x f mreturns a map containing the same bindings as- m, except for the binding of- x. Depending on the value of- ywhere- yis- f (find_opt x m), the binding of- xis added, removed or updated. If- yis- None, the binding is removed if it exists; otherwise, if- yis- Some zthen- xis associated to- zin the resulting map. If- xwas already bound in- mto a value that is physically equal to- z,- mis returned unchanged (the result of the function is then physically equal to- m).
module Smart : sig ... endmodule Unsafe : sig ... end- module Monad : functor (M : CMap.MonadS) -> sig ... end
- Fold operators parameterized by any monad.