Module Base__.String_dict

Efficient static string dictionaries. By static, we mean that new key-value pairs cannot be added after the dictionary is created.

This uses the algorithm the OCaml compiler uses for pattern matching on strings.

type 'a t
include sig ... end
val hash_fold_t : (Base.Hash.state ‑> 'a ‑> Base.Hash.state) ‑> Base.Hash.state ‑> 'a t ‑> Base.Hash.state
val compare : ('a ‑> 'a ‑> int) ‑> 'a t ‑> 'a t ‑> int
val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t

We don't use @@deriving_inline sexp@@@end to avoid a circular dependency

val t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> Base.Sexp.t ‑> 'a t
val of_alist : (string * 'a) list ‑> ('a t, string) Base__.Import0.Caml.result

Creates a dictionary from an association list. It is an error for the list to contain duplicate keys.

val of_alist_exn : (string * 'a) list ‑> 'a t
val find : 'a t ‑> string ‑> 'a option
val find_exn : 'a t ‑> string ‑> 'a
val to_alist : 'a t ‑> (string * 'a) list