Up

Module Make (Data : sig .. end) : S with type 'a data = 'a Data.t

Parameters

Data : sig .. end

Signature

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