include sig ... endval sexp_of_t : ('a ‑> Base__.Sexplib.Sexp.t) ‑> 'a t ‑> Base__.Sexplib.Sexp.tWe use [@@deriving_inline sexp_of][@@@end] but not [@@deriving sexp] because we want people to be
explicit about the hash and comparison functions used when creating hashtables. One
can use Hash_set.Poly.t, which does have [@@deriving_inline sexp][@@@end], to use polymorphic
comparison and hashing.
include Base.Hash_set_intf.Creators with type a t := a t with type 'a elt = 'a with type (key, z) create_options := (key, z) Base.Hash_set_intf.create_options_with_first_class_moduleval create : ('a, unit ‑> 'a t) create_optionsval of_list : ('a, 'a elt list ‑> 'a t) create_optionsinclude Base.Hash_set_intf.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, 'stop) Base.Container_intf.Continue_or_stop.t) ‑> ('accum, 'stop) Base.Container_intf.Finished_or_stopped_early.tval 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.tval hashable : 'key t ‑> 'key Base.Hashtbl_intf.Hashable.tmodule type Sexp_of_m : sig ... endmodule type M_of_sexp : sig ... endval sexp_of_m__t : (module Sexp_of_m with type t = 'elt) ‑> 'elt t ‑> Base.Sexp.tval m__t_of_sexp : (module M_of_sexp with type t = 'elt) ‑> Base.Sexp.t ‑> 'elt tmodule Using_hashable : sig ... end