Node: set, Next: SetFileTime, Previous: Self, Up: Reference

### set

#### Synopsis

In type definitions:

         set of Type  { built-in type class }

#### Description

A set contains zero or more elements from an ordinal type, e.g. Char, a subrange of Char, or a subrange of an enumerated type or integers. Sets do not have any ordering (that is a set containing 'B' and 'A' is the same as a set containing 'A' and 'B'), nor can an element be included more than once. Sets simply store the information about which elements are included in the set.

#### Conforming to

`set` is defined in ISO 7185 Pascal and supported by all known Pascal variants.

#### Example

         program SetDemo;

         type
           TCharSet = set of Char;

         var
           Ch: Char;
           MyCharSet: TCharSet;
         begin
           MyCharSet := ['P','N','L'];
           if 'A' in MyCharSet then
             WriteLn ('Wrong: A in set MyCharSet')
           else
             WriteLn ('Right: A is not in set MyCharSet');
           Include (MyCharSet, 'A');  { A, L, N, P }
           Exclude (MyCharSet, 'N');  { A, L, P }
           MyCharSet := MyCharSet + ['B','C'];  { A, B, C, L, P }
           MyCharSet := MyCharSet - ['C','D'];  { A, B, L, P }
           WriteLn ('set MyCharSet contains:');
           for Ch in MyCharSet do
             WriteLn (Ch);
         end.

Set also Set Operations or examples of some of the many set operations.

#### See also

Keywords, Set Operations, in, Exclude, Include.