set(n) 2.0 struct "Tcl Data Structures"
set - Procedures for manipulating sets
package require Tcl 8.0
package require struct ?2.0?
The ::struct::set namespace contains several useful commands for
processing finite sets.
It exports only a single command, struct::set. All
functionality provided here can be reached through a subcommand of
this command.
- ::struct::set empty set
-
Returns a boolean value indicating if the set is
empty (true), or not (false).
- ::struct::set size set
-
Returns an integer number greater than or equal to zero. This is the
number of elements in the set. In other words, its cardinality.
- ::struct::set contains set item
-
Returns a boolean value indicating if the set contains the
element item (true), or not (false).
- ::struct::set union ?set1...?
-
Computes the set containing the union of set1, set2,
etc., i.e. "set1 + set2 + ...", and returns this set
as the result of the command.
- ::struct::set intersect ?set1...?
-
Computes the set containing the intersection of set1,
set2, etc., i.e. "set1 * set2 * ...", and
returns this set as the result of the command.
- ::struct::set difference set1 set2
-
Computes the set containing the difference of set1 and
set2, i.e. ("set1 - set2") and returns this
set as the result of the command.
- ::struct::set symdiff set1 set2
-
Computes the set containing the symmetric difference of set1 and
set2, i.e. ("(set1 - set2) + (set2 - set1)")
and returns this set as the result of the command.
- ::struct::set intersect3 set1 set2
-
This command is a combination of the methods intersect and
difference.
It returns a three-element list containing "set1*set2",
"set1-set2", and "set2-set1", in this
order. In other words, the intersection of the two parameter sets, and
their differences.
- ::struct::set equal set1 set2
-
Returns a boolean value indicating if the two sets are equal
(true) or not (false).
cardinality, difference, emptiness, intersection, membership, set, symmetric difference, union
Copyright © 2004 Andreas Kupries <andreas_kupries@users.sourceforge.net>