val sexp_of_t : ('key -> Ppx_sexp_conv_lib.Sexp.t) -> ('data -> Ppx_sexp_conv_lib.Sexp.t) -> ('key, 'data) t -> Ppx_sexp_conv_lib.Sexp.ttype ('a, 'b) table = ('a, 'b) tinclude Core_kernel.Invariant.S2 with type ('a, 'b) t := ('a, 'b) t
val invariant : ('a -> unit) -> ('b -> unit) -> ('a, 'b) t -> unitEquality only requires the keys and values to be the same, not the bin or sexp formatting or the integers the keys correspond to (see key_to_int).
include Core_kernel.Equal.S2 with type ('a, 'b) t := ('a, 'b) t
val equal : 'a Core_kernel.Equal.equal -> 'b Core_kernel.Equal.equal -> ('a, 'b) t Core_kernel.Equal.equalval create : ?sexp_of_key:('key -> Core_kernel.Sexp.t) -> num_keys:int -> key_to_int:('key -> int) -> unit -> ('key, 'data) tcreate ~num_keys ~key_to_int returns a table where the keys can map to 0 ... num_keys - 1, according to key_to_int. It is an error if num_keys < 0.
sexp_of_key, if supplied, will be used to display keys in error messages.
val num_keys : (_, _) t -> intval is_empty : (_, _) t -> boolStandard hashtbl functions
val keys : ('key, _) t -> 'key listval data : (_, 'data) t -> 'data listval find : ('key, 'data) t -> 'key -> 'data optionval find_exn : ('key, 'data) t -> 'key -> 'dataval find_or_add : ('key, 'data) t -> 'key -> default:(unit -> 'data) -> 'dataval fold : ('key, 'data) t -> init:'accum -> f:(key:'key -> data:'data -> 'accum -> 'accum) -> 'accumval iter_keys : ('key, _) t -> f:('key -> unit) -> unitval iter : (_, 'data) t -> f:('data -> unit) -> unitval iteri : ('key, 'data) t -> f:(key:'key -> data:'data -> unit) -> unitval filter_mapi : ('key, 'data1) t -> f:(key:'key -> data:'data1 -> 'data2 option) -> ('key, 'data2) tval for_alli : ('key, 'data) t -> f:(key:'key -> data:'data -> bool) -> boolval existsi : ('key, 'data) t -> f:(key:'key -> data:'data -> bool) -> boolval for_all : (_, 'data) t -> f:('data -> bool) -> boolval exists : (_, 'data) t -> f:('data -> bool) -> boolval length : (_, _) t -> intval mem : ('key, _) t -> 'key -> boolval remove : ('key, _) t -> 'key -> unitval set : ('a, 'b) t -> key:'a -> data:'b -> unitval add : ('a, 'b) t -> key:'a -> data:'b -> [ `Ok | `Duplicate of 'b ]val add_exn : ('a, 'b) t -> key:'a -> data:'b -> unitval to_alist : ('key, 'data) t -> ('key * 'data) listval clear : (_, _) t -> unitval debug : bool Core_kernel.refset debug := true to turn on debugging, including potentially slow invariant checking.