Boolean

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.