A mutable set of elements.
include sig ... endval sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.tWe 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.
include Core_kernel__.Hash_set_intf.Creators_generic with type a t := a t with type 'a elt = 'a with type (key, z) create_options := (key, z) Core_kernel__.Hash_set_intf.create_optionsval create : ('a, unit ‑> 'a t) create_optionsval of_list : ('a, 'a elt list ‑> 'a t) create_optionsinclude Core_kernel__.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, '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.tval hashable : 'key t ‑> 'key Hashtbl.Hashable.tmodule type Elt_plain = Hashtbl.Key_plainmodule type Elt = Hashtbl.Keymodule type Elt_binable = Hashtbl.Key_binablemodule type S_plain : Core_kernel__.Hash_set_intf.S_plain with type a hash_set := a tmodule type S : Core_kernel__.Hash_set_intf.S with type a hash_set := a tmodule type S_binable : Core_kernel__.Hash_set_intf.S_binable with type a hash_set := a tmodule Using_hashable : sig ... endmodule Make_binable : functor (Elt : Elt_binable) -> S_binable with type elt = Elt.tmodule M : functor (Elt : Core_kernel__.T.T) -> sig ... end