Functions for set manipulation.
Sets are collections of elements with no duplicate elements. The representation of a set is undefined.
This module provides the same interface as the
ordsets(3) module
but with an undefined representation. One difference is
that while this module considers two elements as different if they
do not match (=:=), ordsets considers two elements as
different if and only if they do not compare equal (==).
Functions
add_element(Element, Set1) -> Set2
Set1 = Set2 = set(Element)
Returns a new set formed from with
inserted.
del_element(Element, Set1) -> Set2
Set1 = Set2 = set(Element)
Returns , but with
removed.
filter(Pred, Set1) -> Set2
Pred = fun((Element) -> boolean())Set1 = Set2 = set(Element)
Filters elements in with boolean function
.
fold(Function, Acc0, Set) -> Acc1
Function = fun((Element, AccIn) -> AccOut)Set = set(Element)Acc0 = Acc1 = AccIn = AccOut = Acc
Folds over every element in
and returns the final value of the
accumulator. The evaluation order is undefined.
intersection(SetList) -> Set
Returns the intersection of the non-empty list of sets.
intersection(Set1, Set2) -> Set3
Set1 = Set2 = Set3 = set(Element)
Returns the intersection of and
.
is_disjoint(Set1, Set2) -> boolean()
Set1 = Set2 = set(Element)
Returns true if and
are disjoint (have no elements in common),
otherwise false.
is_element(Element, Set) -> boolean()
Set = set(Element)
Returns true if is an element of
, otherwise false.
is_set(Set) -> boolean()
Set = term()
Returns true if is a set of
elements, otherwise false.
is_subset(Set1, Set2) -> boolean()
Set1 = Set2 = set(Element)
Returns true when every element of is
also a member of , otherwise false.
new() -> set()
Returns a new empty set.
subtract(Set1, Set2) -> Set3
Set1 = Set2 = Set3 = set(Element)
Returns only the elements of that are not
also elements of .
to_list(Set) -> List
Set = set(Element)List = [Element]
Returns the elements of as a list.
The order of the returned elements is undefined.
union(SetList) -> Set
Returns the merged (union) set of the list of sets.
union(Set1, Set2) -> Set3
Set1 = Set2 = Set3 = set(Element)
Returns the merged (union) set of and
.