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
.