Module Base.Hash_set.Poly

A hash set that uses polymorphic comparison

type 'a t = 'a t
include sig ... end
val t_of_sexp : (Sexp.t ‑> 'a) ‑> Sexp.t ‑> 'a t
val sexp_of_t : ('a ‑> Sexp.t) ‑> 'a t ‑> Sexp.t
include Hash_set_intf.Creators with type t := a t with type 'a elt = 'a with type (key, z) create_options := (key, z) Hash_set_intf.create_options_without_hashable
type 'a t
type 'a elt = 'a
type ('a, 'z) create_options
val create : ('a, unit ‑> 'a tcreate_options
val of_list : ('a'a elt list ‑> 'a tcreate_options
include Hash_set_intf.Accessors with type t := a t with type elt := a elt
include Container.Generic
type 'a t
type 'a elt
val length : _ t ‑> int
val is_empty : _ t ‑> bool
val iter : 'a t ‑> f:('a elt ‑> unit) ‑> unit
val fold : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a elt ‑> 'accum) ‑> 'accum
val fold_result : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a elt ‑> ('accum'eResult.t) ‑> ('accum'eResult.t
val fold_until : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a elt ‑> ('accum'stopContainer_intf.Continue_or_stop.t) ‑> ('accum'stopContainer_intf.Finished_or_stopped_early.t
val exists : 'a t ‑> f:('a elt ‑> bool) ‑> bool
val for_all : 'a t ‑> f:('a elt ‑> bool) ‑> bool
val count : 'a t ‑> f:('a elt ‑> bool) ‑> int
val sum : (module Commutative_group.S with type t = 'sum) ‑> 'a t ‑> f:('a elt ‑> 'sum) ‑> 'sum
val find : 'a t ‑> f:('a elt ‑> bool) ‑> 'a elt option
val find_map : 'a t ‑> f:('a elt ‑> 'b option) ‑> 'b option
val to_list : 'a t ‑> 'a elt list
val to_array : 'a t ‑> 'a elt array
val min_elt : 'a t ‑> cmp:('a elt ‑> 'a elt ‑> int) ‑> 'a elt option
val max_elt : 'a t ‑> cmp:('a elt ‑> 'a elt ‑> int) ‑> 'a elt option
val mem : 'a t ‑> 'a ‑> bool

override Container.Generic.mem

val copy : 'a t ‑> 'a t

preserves the equality function

val add : 'a t ‑> 'a ‑> unit
val strict_add : 'a t ‑> 'a ‑> unit Or_error.t
val strict_add_exn : 'a t ‑> 'a ‑> unit
val remove : 'a t ‑> 'a ‑> unit
val strict_remove : 'a t ‑> 'a ‑> unit Or_error.t
val strict_remove_exn : 'a t ‑> 'a ‑> unit
val clear : 'a t ‑> unit
val equal : 'a t ‑> 'a t ‑> bool
val filter : 'a t ‑> f:('a ‑> bool) ‑> 'a t
val filter_inplace : 'a t ‑> f:('a ‑> bool) ‑> unit
val inter : 'key t ‑> 'key t ‑> 'key t

inter 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 diff : 'a t ‑> 'a t ‑> 'a t
val of_hashtbl_keys : ('a_Hashtbl.t ‑> 'a t
val to_hashtbl : 'key t ‑> f:('key ‑> 'data) ‑> ('key'dataHashtbl.t