module type S1 = sig
.. end
type 's
t
The 's
parameter is shared across all values stored in the map.
type ('s, 'a)
data
val invariant : 'a t -> unit
val empty : 'a t
val is_empty : 'a t -> bool
val set : 's t ->
'a Key.t -> ('s, 'a) data -> 's t
val mem : 'a t -> 'b Key.t -> bool
val find : 's t -> 'a Key.t -> ('s, 'a) data option
val find_exn : 's t -> 'a Key.t -> ('s, 'a) data
val add : 's t ->
'a Key.t ->
('s, 'a) data ->
[ `Duplicate | `Ok of 's t ]
val add_exn : 's t ->
'a Key.t -> ('s, 'a) data -> 's t
val change : 's t ->
'a Key.t ->
(('s, 'a) data option ->
('s, 'a) data option) ->
's t
val change_exn : 's t ->
'a Key.t ->
(('s, 'a) data -> ('s, 'a) data) ->
's t
module Packed: sig
.. end
val to_alist : 's t -> 's Packed.t list
val sexp_of_t : ('s -> Sexplib.Sexp.t) -> 's t -> Sexplib.Sexp.t