Module Std.Dict

Universal Heterogeneous Map.

The dictionary can store values of arbitrary type. Only one value of a a given tag can be stored in the map. For example, if you have tag cconv (calling convention) then it is guaranteed that in map there is zero or one value with this tag.

type t = dict

type of map

include Core_kernel.Bin_prot.Binable.S with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
val compare : t -> t -> int
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val empty : t

an empty instance

val is_empty : t -> bool

is_empty map true if is empty.

val set : t -> 'a tag -> 'a -> t

set map tag x inserts or update

val mem : t -> 'a tag -> bool

mem map tag checks membership

val find : t -> 'a tag -> 'a option

find map tag lookups value

val add : t -> 'a tag -> 'a -> [ `Ok of t | `Duplicate ]

add map tag x adds new value

val change : t -> 'a tag -> ('a option -> 'a option) -> t

change map tag f changes value.

val remove : t -> 'a tag -> t

remove map tag returns a map without a value associated with tag

val to_sequence : t -> (Value.typeid * value) seq

to_sequence dict is a sequence of all tid value entries

val data : t -> value seq

data dict is a sequence of all dict elements

val filter : t -> f:(value -> bool) -> t

filter dict ~f returns a new dict, filtered with f