Functor Ptset.Make


module Make: 
functor (X : sig
type t 
val id : t -> int
val name : string
val pretty : Format.formatter -> t -> unit
end) -> S with type elt = X.t
Parameters:
X : sig type t val id : t -> int val name : string val pretty : Format.formatter -> t -> unit end

type elt 
The type of the set elements.
type t 
The type of sets.
val empty : t
The empty set.
val is_empty : t -> bool
Test whether a set is empty or not.
val mem : elt -> t -> bool
mem x s tests whether x belongs to the set s.
val add : elt -> t -> t
add x s returns a set containing all elements of s, plus x. If x was already in s, s is returned unchanged.
val singleton : elt -> t
singleton x returns the one-element set containing only x.
val remove : elt -> t -> t
remove x s returns a set containing all elements of s, except x. If x was not in s, s is returned unchanged.
val union : t -> t -> t
Set union.
val inter : t -> t -> t
Set intersection.
val diff : t -> t -> t
Set difference.
val equal : t -> t -> bool
equal s1 s2 tests whether the sets s1 and s2 are equal, that is, contain equal elements.
val subset : t -> t -> bool
subset s1 s2 tests whether the set s1 is a subset of the set s2.
val iter : (elt -> unit) -> t -> unit
iter f s applies f in turn to all elements of s. The elements of s are presented to f in increasing order with respect to the ordering over the type of the elements.
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
fold f s a computes (f xN ... (f x2 (f x1 a))...), where x1 ... xN are the elements of s, in increasing order.
val exists : (elt -> bool) -> t -> bool
exists p s checks if at least one element of the set satisfies the predicate p.
val filter : (elt -> bool) -> t -> t
filter p s returns the set of all elements in s that satisfy predicate p.
val cardinal : t -> int
Return the number of elements of a set.