Base.Hash_setSourceWe use [@@deriving sexp_of] 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 sexp], to use polymorphic comparison and hashing.
type nonrec ('key, 'z) create_options =
?growth_allowed:bool ->
?size:int ->
'key Hashtbl.Key.t ->
'zinclude Accessors with type 'a t := 'a t with type 'a elt = 'ainclude Container.Generic with type ('a, _, _) t := 'a t with type 'a elt = 'aval fold_until :
'a t ->
init:'acc ->
f:('acc -> 'a elt -> ('acc, 'final) Container.Continue_or_stop.t) ->
finish:('acc -> 'final) ->
'finalval sum :
(module Container.Summable with type t = 'sum) ->
'a t ->
f:('a elt -> 'sum) ->
'sumstrict_add t x returns Ok () if the x was not in t, or an Error if it was.
strict_remove t x returns Ok () if the x was in t, or an Error if it was not.
inter t1 t2 computes the set intersection of t1 and t2. Runs in O(min(length t1, length t2)). Behavior is undefined if t1 and t2 don't have the same equality function.
type nonrec ('key, 'z) create_options_without_first_class_module =
?growth_allowed:bool ->
?size:int ->
'zinclude For_deriving with type 'a t := 'a tM is meant to be used in combination with OCaml applicative functor types:
val m__t_sexp_grammar :
(module Base__.Hash_set_intf.M_sexp_grammar with type t = 'elt) ->
'elt t Sexplib0.Sexp_grammar.t