sig
type t
val empty : Univ_map.t
val is_empty : Univ_map.t -> bool
module Key :
sig
type 'a t
val create : string -> ('a -> Std_internal.Sexp.t) -> 'a Univ_map.Key.t
val sexp_of_t :
('a -> Sexplib.Sexp.t) -> 'a Univ_map.Key.t -> Sexplib.Sexp.t
end
val set : Univ_map.t -> 'a Univ_map.Key.t -> 'a -> Univ_map.t
val mem : Univ_map.t -> 'a Univ_map.Key.t -> bool
val find : Univ_map.t -> 'a Univ_map.Key.t -> 'a option
val find_exn : Univ_map.t -> 'a Univ_map.Key.t -> 'a
val add :
Univ_map.t ->
'a Univ_map.Key.t -> 'a -> [ `Duplicate | `Ok of Univ_map.t ]
val add_exn : Univ_map.t -> 'a Univ_map.Key.t -> 'a -> Univ_map.t
val change :
Univ_map.t -> 'a Univ_map.Key.t -> ('a option -> 'a option) -> Univ_map.t
val change_exn :
Univ_map.t -> 'a Univ_map.Key.t -> ('a -> 'a) -> Univ_map.t
module With_default :
sig
module Key :
sig
type 'a t
val create :
default:'a ->
string ->
('a -> Std_internal.Sexp.t) -> 'a Univ_map.With_default.Key.t
end
val set :
Univ_map.t -> 'a Univ_map.With_default.Key.t -> 'a -> Univ_map.t
val find : Univ_map.t -> 'a Univ_map.With_default.Key.t -> 'a
val change :
Univ_map.t ->
'a Univ_map.With_default.Key.t -> ('a -> 'a) -> Univ_map.t
end
module With_fold :
sig
module Key :
sig
type ('a, 'b) t
val create :
init:'b ->
f:('b -> 'a -> 'b) ->
string ->
('b -> Std_internal.Sexp.t) -> ('a, 'b) Univ_map.With_fold.Key.t
end
val set :
Univ_map.t -> ('a, 'b) Univ_map.With_fold.Key.t -> 'b -> Univ_map.t
val find : Univ_map.t -> ('a, 'b) Univ_map.With_fold.Key.t -> 'b
val add :
Univ_map.t -> ('a, 'b) Univ_map.With_fold.Key.t -> 'a -> Univ_map.t
val change :
Univ_map.t ->
('a, 'b) Univ_map.With_fold.Key.t -> ('b -> 'b) -> Univ_map.t
end
module Multi :
sig
module Key :
sig
type 'a t
val create :
string -> ('a -> Std_internal.Sexp.t) -> 'a Univ_map.Multi.Key.t
end
val set :
Univ_map.t -> 'a Univ_map.Multi.Key.t -> 'a list -> Univ_map.t
val find : Univ_map.t -> 'a Univ_map.Multi.Key.t -> 'a list
val add : Univ_map.t -> 'a Univ_map.Multi.Key.t -> 'a -> Univ_map.t
val change :
Univ_map.t ->
'a Univ_map.Multi.Key.t -> ('a list -> 'a list) -> Univ_map.t
end
val sexp_of_t : Univ_map.t -> Sexplib.Sexp.t
end