FuncName.Mapinclude Ppx_compare_lib.Comparable.S1 with type +'a t := 'a tval compare :
'a Base__Ppx_compare_lib.compare ->
'a t Base__Ppx_compare_lib.compareinclude Ppx_compare_lib.Equal.S1 with type +'a t := 'a tval equal : 'a Base__Ppx_compare_lib.equal -> 'a t Base__Ppx_compare_lib.equalval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.tval sexp_of_compare :
('compare_a -> Sexplib0.Sexp.t) ->
'compare_a compare ->
Sexplib0.Sexp.tval compare_of_sexp :
(Sexplib0.Sexp.t -> 'compare_a) ->
Sexplib0.Sexp.t ->
'compare_a comparemodule Provide_of_sexp (_ : sig ... end) : sig ... endval empty : 'a tval singleton : Llair__.LlairExp.FuncName.exp -> 'a -> 'a tAdd a binding if the key is not already bound.
val merge_endo :
'a t ->
'b t ->
f:
(Llair__.LlairExp.FuncName.exp ->
[ `Left of 'a | `Both of 'a * 'b | `Right of 'b ] ->
'a option) ->
'a tLike merge, but specialized to require f to preserve the type of the left argument, which enables preserving == if f preserves == of every value.
union_absent m1 m2 contains all the bindings of m1 as well as those of m2 for keys not contained by m1. union_absent m1 m2 == m1 if no bindings from m2 are added.
val is_empty : 'a t -> boolval is_singleton : 'a t -> boolval length : 'a t -> intval only_binding : 'a t -> (Llair__.LlairExp.FuncName.exp * 'a) optionval classify :
'a t ->
(Llair__.LlairExp.FuncName.exp, 'a) NS__.NS0.zero_one_many2val choose : 'a t -> (Llair__.LlairExp.FuncName.exp * 'a) optionFind an unspecified binding. Different bindings may be chosen for equivalent maps. O(1).
val choose_exn : 'a t -> Llair__.LlairExp.FuncName.exp * 'aFind an unspecified binding. Different bindings may be chosen for equivalent maps. O(1).
val min_binding : 'a t -> (Llair__.LlairExp.FuncName.exp * 'a) optionval max_binding : 'a t -> (Llair__.LlairExp.FuncName.exp * 'a) optionval max_binding_exn : 'a t -> Llair__.LlairExp.FuncName.exp * 'aval mem : Llair__.LlairExp.FuncName.exp -> 'a t -> boolval find : Llair__.LlairExp.FuncName.exp -> 'a t -> 'a optionval find_exn : Llair__.LlairExp.FuncName.exp -> 'a t -> 'aval find_multi : Llair__.LlairExp.FuncName.exp -> 'a list t -> 'a listval find_update :
Llair__.LlairExp.FuncName.exp ->
'a t ->
f:('a option -> 'a option) ->
'a option * 'a tfind_update k f m is (found, m') where found is find k m and find k m' is f found and find h m' is find h m for all other h.
Find and remove the binding for a key.
Find the value bound to the given key if there is one, or otherwise add a binding for the given key and value.
val find_or_add_lazy :
Llair__.LlairExp.FuncName.exp ->
'a t ->
f:(unit -> 'a) ->
[> `Added of 'a | `Found of 'a ] * 'a tFind the value bound to the given key if there is one, or otherwise add a binding for the given key with value f ().
Find and remove binding with minimum key. O(log n).
Like map, but specialized to require f to be an endofunction, which enables preserving == if f preserves == of every value.
val iter : 'a t -> f:('a -> unit) -> unitval iteri :
'a t ->
f:(key:Llair__.LlairExp.FuncName.exp -> data:'a -> unit) ->
unitval existsi :
'a t ->
f:(key:Llair__.LlairExp.FuncName.exp -> data:'a -> bool) ->
boolval for_alli :
'a t ->
f:(key:Llair__.LlairExp.FuncName.exp -> data:'a -> bool) ->
boolval fold :
'a t ->
's ->
f:(key:Llair__.LlairExp.FuncName.exp -> data:'a -> 's -> 's) ->
'sval fold_until :
'a t ->
's ->
f:
(key:Llair__.LlairExp.FuncName.exp ->
data:'a ->
's ->
[ `Continue of 's | `Stop of 'b ]) ->
finish:('s -> 'b) ->
'bval keys : 'a t -> (Llair__.LlairExp.FuncName.exp -> unit) -> unitval values : 'a t -> ('a -> unit) -> unitval to_iter : 'a t -> ((Llair__.LlairExp.FuncName.exp * 'a) -> unit) -> unitval to_list : 'a t -> (Llair__.LlairExp.FuncName.exp * 'a) listval of_iter : (((Llair__.LlairExp.FuncName.exp * 'a) -> unit) -> unit) -> 'a tval of_list : (Llair__.LlairExp.FuncName.exp * 'a) list -> 'a tval pp :
(Stdlib.Format.formatter -> Llair__.LlairExp.FuncName.exp -> unit) ->
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter ->
'a t ->
unitval pp_diff :
?pre:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
?suf:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
?sep:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
(Stdlib.Format.formatter -> Llair__.LlairExp.FuncName.exp -> unit) ->
(Stdlib.Format.formatter -> 'a -> unit) ->
(Stdlib.Format.formatter -> ('a * 'a) -> unit) ->
eq:('a -> 'a -> bool) ->
Stdlib.Format.formatter ->
('a t * 'a t) ->
unit