Module Univ_map

module Univ_map: sig .. end
Universal/heterogeneous maps.

These maps are useful for storing values of arbitrary type in a single map. In order to recover a value, it must be looked up with exactly the Key.t it was stored in. In other words, given different Key.t's from the same string, one will not be able to recover the key stored in the other one.

This is similar to Univ in spirit.


include Univ_map_intf
include S
module Make: 
functor (Data : sig
type 'a t 
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end) -> S with type 'a data = 'a Data.t
module Make1: 
functor (Data : sig
type ('s, 'a) t 
val sexp_of_t : ('s -> Sexplib.Sexp.t) ->
('a -> Sexplib.Sexp.t) -> ('s, 'a) t -> Sexplib.Sexp.t
end) -> S1 with type ('s, 'a) data = ('s, 'a) Data.t
module With_default: sig .. end
keys with associated default values, so that find is no longer partial
module With_fold: sig .. end
keys that map to an accumulator value with an associated fold operation
module Multi: sig .. end
list-accumulating keys with a default value of the empty list