ordsets
Functions for Manipulating Sets as Ordered Lists
Sets are collections of elements with no duplicate elements.
An ordset
is a representation of a set, where an ordered
list is used to store the elements of the set. An ordered list
is more efficient than an unordered list.
This module provides exactly the same interface as the module
sets
but with a defined representation. One difference is
that while sets
considers two elements as different if they
do not match (=:=
), this module considers two elements as
different if and only if they do not compare equal (==
).
As returned by new/0.
Functions
new/0
Returns a new empty ordered set.
is_set/1
Returns true
if
is an ordered set of
elements, otherwise false
.
size/1
Returns the number of elements in
.
to_list/1
Returns the elements of
as a list.
from_list/1
Returns an ordered set of the elements in
.
is_element/2
Returns true
if
is an element of
, otherwise false
.
add_element/2
Returns a new ordered set formed from
with
inserted.
del_element/2
Returns
, but with
removed.
union/2
Returns the merged (union) set of
and
.
union/1
Returns the merged (union) set of the list of sets.
intersection/2
Returns the intersection of
and
.
intersection/1
Returns the intersection of the non-empty list of sets.
is_disjoint/2
Returns true
if
and
are disjoint (have no elements in common),
and false
otherwise.
subtract/2
Returns only the elements of
which are not
also elements of
.
is_subset/2
Returns true
when every element of
is
also a member of
, otherwise false
.
fold/3
Fold
over every element in
returning the final value of the accumulator.
filter/2
Filter elements in
with boolean function
.