Module Univ_map.Make

Parameters

module Key : Key
module Data : Data

Signature

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

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

val of_alist_exn : Packed.t Base.list -> t