package bap-std

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

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

val __bin_read_t__ : (int -> t) Core_kernel.Bin_prot.Read.reader
val compare : t -> t -> int
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val sexp_of_t : t -> Ppx_sexp_conv_lib.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

OCaml

Innovation. Community. Security.