Module Univ_map.Make1

Parameters

module Key : Key
module Data : sig ... end

Signature

type 's t

The 's parameter is shared across all values stored in the map.

val sexp_of_t : ('s -> Ppx_sexp_conv_lib.Sexp.t) -> 's t -> Ppx_sexp_conv_lib.Sexp.t
module Key = Key
type ('s, 'a) data = ('s'a) Data.t
val invariant : _ t -> Base.Unit.t
val empty : _ t
val is_empty : _ t -> Base.Bool.t
val set : 's t -> 'a Key.t -> ('s'a) data -> 's t
val mem : _ t -> _ Key.t -> Base.Bool.t
val mem_by_id : _ t -> Type_equal.Id.Uid.t -> Base.Bool.t
val find : 's t -> 'a Key.t -> ('s'a) data Base.Option.t
val find_exn : 's t -> 'a Key.t -> ('s'a) data
val add : 's t -> 'a Key.t -> ('s'a) data -> [ `Ok of 's t | `Duplicate ]
val add_exn : 's t -> 'a Key.t -> ('s'a) data -> 's t
val change : 's t -> 'a Key.t -> f:(('s'a) data Base.Option.t -> ('s'a) data Base.Option.t) -> 's t
val change_exn : 's t -> 'a Key.t -> f:(('s'a) data -> ('s'a) data) -> 's t
val update : 's t -> 'a Key.t -> f:(('s'a) data Base.Option.t -> ('s'a) data) -> 's t
val remove : 's t -> 'a Key.t -> 's t
val remove_by_id : 's t -> Type_equal.Id.Uid.t -> 's t
module Packed : sig ... end
val to_alist : 's t -> 's Packed.t Base.List.t
val of_alist_exn : 's Packed.t Base.List.t -> 's t