Up

Module Make1 (Data : sig .. end) : S1 with type ('s, 'a) data = ('s, 'a) Data.t

Parameters

Data : sig .. end

Signature

type 's t

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

val sexp_of_t : ('s -> Sexplib.Sexp.t) -> 's t -> Sexplib.Sexp.t
type ('s, 'a) data = ('s, 'a) Data.t
val invariant : _ t -> unit
val empty : _ t
val is_empty : _ t -> bool
val set : 's t -> 'a Key.t -> ('s, 'a) data -> 's t
val mem : _ t -> _ Key.t -> bool
val mem_by_id : _ t -> Key.Uid.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 -> [
| `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 option -> ('s, 'a) data 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 option -> ('s, 'a) data) -> 's t
val remove : 's t -> 'a Key.t -> 's t
val remove_by_id : 's t -> Key.Uid.t -> 's t
module Packed : sig .. end
val to_alist : 's t -> 's Packed.t list