package stdune

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

Universal maps

module type S = sig ... end
include S
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.

module Key : sig ... end
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 b augmented with bindings of a that are not in b.

val to_dyn : t -> Dyn.t
val to_dyns : t -> (string * Dyn.t) list

to_dyns m is an assoc list pairing keys to (representations of) values

module Make () : S
OCaml

Innovation. Community. Security.