Module Univ_mapSource

Sourcemodule type S = sig ... end
Sourcemodule type S1 = sig ... end
Sourcemodule type Key = sig ... end
Sourcemodule type Data = sig ... end
Sourcemodule Type_id_key : Key with type 'a t = 'a Base.Type_equal.Id.t
include S with type 'a data = 'a and module Key := Type_id_key
Sourcetype t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourcetype 'a data = 'a
include Base.Invariant.S with type t := t
Sourceval invariant : t -> unit
Sourceval empty : t
Sourceval singleton : 'a Type_id_key.t -> 'a data -> t
Sourceval is_empty : t -> Base.bool
Sourceval set : t -> key:'a Type_id_key.t -> data:'a data -> t
Sourceval mem : t -> 'a Type_id_key.t -> Base.bool
Sourceval find : t -> 'a Type_id_key.t -> 'a data Base.option
Sourceval find_exn : t -> 'a Type_id_key.t -> 'a data
Sourceval add : t -> key:'a Type_id_key.t -> data:'a data -> [ `Ok of t | `Duplicate ]
Sourceval add_exn : t -> key:'a Type_id_key.t -> data:'a data -> t
Sourceval change : t -> 'a Type_id_key.t -> f:('a data Base.option -> 'a data Base.option) -> t
Sourceval change_exn : t -> 'a Type_id_key.t -> f:('a data -> 'a data) -> t
Sourceval update : t -> 'a Type_id_key.t -> f:('a data Base.option -> 'a data) -> t
Sourceval remove : t -> 'a Type_id_key.t -> t
Sourceval remove_by_id : t -> Base.Type_equal.Id.Uid.t -> t
Sourcemodule Packed : sig ... end
Sourceval to_alist : t -> Packed.t Base.list

to_alist t returns all values in t, in increasing order of key type-id name.

Sourceval of_alist_exn : Packed.t Base.list -> t
Sourceval find_packed_by_id_exn : t -> Base.Type_equal.Id.Uid.t -> Packed.t

This binding is convenient because existing call sites often refer to Univ_map.Key.create.

Sourcemodule Make (Key : Key) (Data : Data) : S with type 'a data = 'a Data.t and module Key = Key
Sourcemodule Make1 (Key : Key) (Data : sig ... end) : S1 with type ('s, 'a) data = ('s, 'a) Data.t and module Key = Key
Sourcemodule Merge (Key : Key) (Input1_data : Data) (Input2_data : Data) (Output_data : Data) : sig ... end
Sourcemodule Merge1 (Key : Key) (Input1_data : sig ... end) (Input2_data : sig ... end) (Output_data : sig ... end) : sig ... end
Sourcemodule With_default : sig ... end

keys with associated default values, so that find is no longer partial

Sourcemodule With_fold : sig ... end

keys that map to an accumulator value with an associated fold operation

Sourcemodule Multi : sig ... end

list-accumulating keys with a default value of the empty list