include sig ... endval sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.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.
module type Creators = Base__.Hash_set_intf.Creatorsmodule type Creators_generic = Base__.Hash_set_intf.Creators_genericinclude Creators with type a Creators.t := a tval create : ?growth_allowed:bool ‑> ?size:int ‑> (module Base__.Hash_set_intf.Key with type t = 'a) ‑> 'a tval of_list : ?growth_allowed:bool ‑> ?size:int ‑> (module Base__.Hash_set_intf.Key with type t = 'a) ‑> 'a list ‑> 'a tmodule type Accessors = Base__.Hash_set_intf.Accessorsinclude Accessors with type a Accessors.t := a t with type 'a Accessors.elt = 'aval length : 'a t ‑> intval is_empty : 'a 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, 'b) Base.Hashtbl.t ‑> 'a tval to_hashtbl : 'key t ‑> f:('key ‑> 'data) ‑> ('key, 'data) Base.Hashtbl.tval hashable_s : 'key t ‑> (module Base__.Hashtbl_intf.Key with type t = 'key)type ('key, 'z) create_options_without_first_class_module = ('key, 'z) Base__.Hash_set_intf.create_options_without_first_class_modulemodule 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 t