Free Pascal supports the set types as in Turbo Pascal. The prototype of a set declaration is:
Each of the elements of SetType must be of type TargetType. TargetType can be any ordinal type with a range between 0 and 255. A set can contain at most 256 elements. The following are valid set declaration:
Given these declarations, the following assignment is legal:
Several operations can be done on sets: taking unions or differences, adding or removing elements, comparisons. These are documented in section 12.8.5, page 623
How the compiler stores sets depends on the mode and can be controlled with a directive. For more information, see the programmer’s guide.