A hash set that uses polymorphic comparison
include sig ... endval t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> Base.Sexp.t ‑> 'a tval sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.tinclude Creators_generic with type a t := a t with type 'a elt = 'a with type (key, z) create_options := (key, z) create_options_without_first_class_moduleval create : ('a, unit ‑> 'a t) create_optionsval of_list : ('a, 'a elt list ‑> 'a t) create_optionsinclude Accessors with type a t := a t with type a elt := a eltinclude Base.Container.Genericval length : _ t ‑> intval is_empty : _ t ‑> boolval fold_result : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a elt ‑> ('accum, 'e) Base.Result.t) ‑> ('accum, 'e) Base.Result.tval fold_until : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a elt ‑> ('accum, 'final) Base__.Container_intf.Continue_or_stop.t) ‑> finish:('accum ‑> 'final) ‑> 'finalval sum : (module Base.Commutative_group.S with type t = 'sum) ‑> 'a t ‑> f:('a elt ‑> 'sum) ‑> 'sumval add : 'a t ‑> 'a ‑> unitval strict_add : 'a t ‑> 'a ‑> unit Base.Or_error.tval strict_add_exn : 'a t ‑> 'a ‑> unitval remove : 'a t ‑> 'a ‑> unitval strict_remove : 'a t ‑> 'a ‑> unit Base.Or_error.tval strict_remove_exn : 'a t ‑> 'a ‑> unitval clear : 'a t ‑> unitval filter_inplace : 'a t ‑> f:('a ‑> bool) ‑> unitinter t1 t2 computes the set intersection of t1 and t2. Runs in O(max(length
t1, length t2)). Behavior is undefined if t1 and t2 don't have the same
equality function.
val of_hashtbl_keys : ('a, _) Base.Hashtbl.t ‑> 'a tval to_hashtbl : 'key t ‑> f:('key ‑> 'data) ‑> ('key, 'data) Base.Hashtbl.t