This document describes the Boolean data types.
TBool represents a Boolean whose value may be ETrue
or EFalse
.
It is implemented as a natural machine-word integer.
The C language defines logical expressions to produce 0 for false,
1 for true, and to interpret 0 as false, non-zero as true. This confusion
cannot be altogether avoided with TBool
. It is possible,
but strongly deprecated, to assign numeric values to a TBool.
In general, a TBool should be tested using
if (x) ...
or
if (!x) ...
rather than
if (x==ETrue) ...
or
if (x==EFalse) ...
The TBool uses a whole machine word. When a class has a number of flags, they should be encoded in a flags byte, and suitable getter/setter functions, taking TBool s, should be coded to access that flags byte.