package stdune

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Universal maps

module type S = sig ... end
module Make (Info : sig ... end) () : sig ... end
module Key : sig ... end
include S with module Key := Key
type t

A universal map is a map that can store values for arbitrary keys. It is the the key that conveys the type of the data associated to it.

val empty : t
val is_empty : t -> bool
val mem : t -> 'a Key.t -> bool
val set : t -> 'a Key.t -> 'a -> t
val add : t -> 'a Key.t -> 'a -> (t, 'a) Result.t
val update : t -> 'a Key.t -> f:('a option -> 'a option) -> t
val remove : t -> 'a Key.t -> t
val find : t -> 'a Key.t -> 'a option
val find_exn : t -> 'a Key.t -> 'a
val singleton : 'a Key.t -> 'a -> t
val superpose : t -> t -> t

superpose a b is a augmented with bindings of b that are not in a.

type 'acc fold = {
  1. fold : 'a. 'a Key.info -> 'a -> 'acc -> 'acc;
}
val fold : t -> init:'acc -> f:'acc fold -> 'acc
val to_dyn : t -> Dyn.t
OCaml

Innovation. Community. Security.