Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2.2_all bug

NAME

       sets - Functions for Set Manipulation

DESCRIPTION

       Sets  are  collections of elements with no duplicate elements. The representation of a set
       is not defined.

       This module provides exactly the same interface as the module ordsets but with  a  defined
       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 (==).

DATA TYPES

       set()

              As returned by new/0.

EXPORTS

       new() -> set()

              Returns a new empty set.

       is_set(Set) -> boolean()

              Types:

                 Set = term()

              Returns true if Set is a set of elements, otherwise false.

       size(Set) -> integer() >= 0

              Types:

                 Set = set()

              Returns the number of elements in Set.

       to_list(Set) -> List

              Types:

                 Set = set()
                 List = [term()]

              Returns the elements of Set as a list.

       from_list(List) -> Set

              Types:

                 List = [term()]
                 Set = set()

              Returns an set of the elements in List.

       is_element(Element, Set) -> boolean()

              Types:

                 Element = term()
                 Set = set()

              Returns true if Element is an element of Set, otherwise false.

       add_element(Element, Set1) -> Set2

              Types:

                 Element = term()
                 Set1 = Set2 = set()

              Returns a new set formed from Set1 with Element inserted.

       del_element(Element, Set1) -> Set2

              Types:

                 Element = term()
                 Set1 = Set2 = set()

              Returns Set1, but with Element removed.

       union(Set1, Set2) -> Set3

              Types:

                 Set1 = Set2 = Set3 = set()

              Returns the merged (union) set of Set1 and Set2.

       union(SetList) -> Set

              Types:

                 SetList = [set()]
                 Set = set()

              Returns the merged (union) set of the list of sets.

       intersection(Set1, Set2) -> Set3

              Types:

                 Set1 = Set2 = Set3 = set()

              Returns the intersection of Set1 and Set2.

       intersection(SetList) -> Set

              Types:

                 SetList = [set(), ...]
                 Set = set()

              Returns the intersection of the non-empty list of sets.

       is_disjoint(Set1, Set2) -> boolean()

              Types:

                 Set1 = Set2 = set()

              Returns  true if Set1 and Set2 are disjoint (have no elements in common), and false
              otherwise.

       subtract(Set1, Set2) -> Set3

              Types:

                 Set1 = Set2 = Set3 = set()

              Returns only the elements of Set1 which are not also elements of Set2.

       is_subset(Set1, Set2) -> boolean()

              Types:

                 Set1 = Set2 = set()

              Returns true when every element of Set11 is also a member of Set2, otherwise false.

       fold(Function, Acc0, Set) -> Acc1

              Types:

                 Function = fun((E :: term(), AccIn) -> AccOut)
                 Set = set()
                 Acc0 = Acc1 = AccIn = AccOut = T

              Fold Function  over  every  element  in  Set  returning  the  final  value  of  the
              accumulator.

       filter(Pred, Set1) -> Set2

              Types:

                 Pred = fun((E :: term()) -> boolean())
                 Set1 = Set2 = set()

              Filter elements in Set1 with boolean function Pred.

SEE ALSO

       ordsets(3erl), gb_sets(3erl)