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 -> Sexplib0.Sexp.t) -> 's t -> Sexplib0.Sexp.t
module Key = Key
type ('s, 'a) data = ('s, 'a) Data.t
val invariant : _ t -> Base.unit
val empty : _ t
val singleton : 'a Key.t -> ('s, 'a) data -> 's t
val is_empty : _ t -> Base.bool
val set : 's t -> key:'a Key.t -> data:('s, 'a) data -> 's t
val mem : _ t -> _ Key.t -> Base.bool
val mem_by_id : _ t -> Base.Type_equal.Id.Uid.t -> Base.bool
val find : 's t -> 'a Key.t -> ('s, 'a) data Base.option
val find_exn : 's t -> 'a Key.t -> ('s, 'a) data
val add : 's t -> key:'a Key.t -> data:('s, 'a) data -> [ `Ok of 's t | `Duplicate ]
val add_exn : 's t -> key:'a Key.t -> data:('s, 'a) data -> 's t
val change : 's t -> 'a Key.t -> f:(('s, 'a) data Base.option -> ('s, 'a) data Base.option) -> '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 -> ('s, 'a) data) -> 's t
val remove : 's t -> 'a Key.t -> 's t
val remove_by_id : 's t -> Base.Type_equal.Id.Uid.t -> 's t
module Packed : sig ... end
val to_alist : 's t -> 's Packed.t Base.list
val of_alist_exn : 's Packed.t Base.list -> 's t