ordsets(3erl) Erlang Module Definition ordsets(3erl)
NAME
ordsets - Functions for manipulating sets as ordered lists.
DESCRIPTION
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 un-
ordered list. Elements are ordered according to the Erlang term order.
This module provides the same interface as the sets(3erl) module but
with a defined representation. One difference is that while sets con-
siders two elements as different if they do not match (=:=), this mod-
ule considers two elements as different if and only if they do not com-
pare equal (==).
DATA TYPES
ordset(T) = [T]
As returned by new/0.
EXPORTS
add_element(Element, Ordset1) -> Ordset2
Types:
Element = E
Ordset1 = ordset(T)
Ordset2 = ordset(T | E)
Returns a new ordered set formed from Ordset1 with Element in-
serted.
del_element(Element, Ordset1) -> Ordset2
Types:
Element = term()
Ordset1 = Ordset2 = ordset(T)
Returns Ordset1, but with Element removed.
filter(Pred, Ordset1) -> Ordset2
Types:
Pred = fun((Element :: T) -> boolean())
Ordset1 = Ordset2 = ordset(T)
Filters elements in Ordset1 with boolean function Pred.
fold(Function, Acc0, Ordset) -> Acc1
Types:
Function =
fun((Element :: T, AccIn :: term()) -> AccOut :: term())
Ordset = ordset(T)
Acc0 = Acc1 = term()
Folds Function over every element in Ordset and returns the fi-
nal value of the accumulator.
from_list(List) -> Ordset
Types:
List = [T]
Ordset = ordset(T)
Returns an ordered set of the elements in List.
intersection(OrdsetList) -> Ordset
Types:
OrdsetList = [ordset(term()), ...]
Ordset = ordset(term())
Returns the intersection of the non-empty list of sets.
intersection(Ordset1, Ordset2) -> Ordset3
Types:
Ordset1 = Ordset2 = Ordset3 = ordset(term())
Returns the intersection of Ordset1 and Ordset2.
is_disjoint(Ordset1, Ordset2) -> boolean()
Types:
Ordset1 = Ordset2 = ordset(term())
Returns true if Ordset1 and Ordset2 are disjoint (have no ele-
ments in common), otherwise false.
is_element(Element, Ordset) -> boolean()
Types:
Element = term()
Ordset = ordset(term())
Returns true if Element is an element of Ordset, otherwise
false.
is_empty(Ordset) -> boolean()
Types:
Ordset = ordset(term())
Returns true if Ordset is an empty set, otherwise false.
is_set(Ordset) -> boolean()
Types:
Ordset = term()
Returns true if Ordset is an ordered set of elements, otherwise
false.
is_subset(Ordset1, Ordset2) -> boolean()
Types:
Ordset1 = Ordset2 = ordset(term())
Returns true when every element of Ordset1 is also a member of
Ordset2, otherwise false.
new() -> []
Returns a new empty ordered set.
size(Ordset) -> integer() >= 0
Types:
Ordset = ordset(term())
Returns the number of elements in Ordset.
subtract(Ordset1, Ordset2) -> Ordset3
Types:
Ordset1 = Ordset2 = Ordset3 = ordset(term())
Returns only the elements of Ordset1 that are not also elements
of Ordset2.
to_list(Ordset) -> List
Types:
Ordset = ordset(T)
List = [T]
Returns the elements of Ordset as a list.
union(OrdsetList) -> Ordset
Types:
OrdsetList = [ordset(T)]
Ordset = ordset(T)
Returns the merged (union) set of the list of sets.
union(Ordset1, Ordset2) -> Ordset3
Types:
Ordset1 = ordset(T1)
Ordset2 = ordset(T2)
Ordset3 = ordset(T1 | T2)
Returns the merged (union) set of Ordset1 and Ordset2.
SEE ALSO
gb_sets(3erl), sets(3erl)
Ericsson AB stdlib 3.13 ordsets(3erl)