Module HashSet.Make

Parameters

module E : ELEMENT

Signature

include sig ... end
type t = CCHashSet.Make(E).t
type elt = E.t
val create : int -> t
val singleton : elt -> t
val clear : t -> unit
val copy : t -> t
val copy_into : into:t -> t -> unit
val insert : t -> elt -> unit
val remove : t -> elt -> unit
val cardinal : t -> int
val mem : t -> elt -> bool
val find_exn : t -> elt -> elt
val find : t -> elt -> elt option
val inter : t -> t -> t
val inter_mut : into:t -> t -> unit
val union : t -> t -> t
val union_mut : into:t -> t -> unit
val diff : t -> t -> t
val subset : t -> t -> bool
val equal : t -> t -> bool
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : ('a -> elt -> 'a) -> 'a -> t -> 'a
val elements : t -> elt list
val of_list : elt list -> t
val to_iter : t -> elt CCHashSet.iter
val of_iter : elt CCHashSet.iter -> t
val add_iter : t -> elt CCHashSet.iter -> unit
val pp : ?pp_sep:unit CCHashSet.printer -> elt CCHashSet.printer -> t CCHashSet.printer
val add : t -> elt -> bool

add s x adds x into s and returns whether s was changed, that is, add s x = not (mem s x)

val update : t -> elt -> f:(elt option -> elt option) -> unit