module Key : sig ... endmodule type Creators = Base__Hash_set_intf.Creatorsmodule type Creators_generic = Base__Hash_set_intf.Creators_generictype nonrec ('key, 'z) create_options = ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'key) -> 'zmodule type Accessors = Base__Hash_set_intf.Accessorsinclude Accessors with type 'a t := 'a t with type 'a elt = 'a
include Container.Generic with type 'a t := 'a t with type 'a elt = 'a
val length : 'a t -> intval is_empty : 'a t -> boolval fold_result : 'a t -> init:'accum -> f:('accum -> 'a elt -> ('accum, 'e) Result.t) -> ('accum, 'e) Result.tval fold_until : 'a t -> init:'accum -> f:('accum -> 'a elt -> ('accum, 'final) Base__Container_intf.Export.Continue_or_stop.t) -> finish:('accum -> 'final) -> 'finalval mem : 'a t -> 'a -> booloverride Container.Generic.mem
val add : 'a t -> 'a -> unitval strict_add : 'a t -> 'a -> unit Or_error.tstrict_add t x returns Ok () if the x was not in t, or an Error if it was.
val strict_add_exn : 'a t -> 'a -> unitval remove : 'a t -> 'a -> unitval strict_remove : 'a t -> 'a -> unit Or_error.tstrict_remove t x returns Ok () if the x was in t, or an Error if it was not.
val 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(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 -> 'zmodule Poly : sig ... endA hash set that uses polymorphic comparison
M is meant to be used in combination with OCaml applicative functor types:
module type Sexp_of_m = sig ... endmodule type M_of_sexp = sig ... end