|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-189FBB0E-0A47-5CCC-9209-DC69E76DE6B3" xml:lang="en"><title>Boolean</title><shortdesc>This document describes the Boolean data types.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p><xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref> represents a Boolean whose value may be <codeph>ETrue</codeph> or <codeph>EFalse</codeph>. |
|
14 It is implemented as a natural machine-word integer.</p> |
|
15 <p>The C language defines logical expressions to <i>produce</i> 0 for false, |
|
16 1 for true, and to <i>interpret</i> 0 as false, non-zero as true. This confusion |
|
17 cannot be altogether avoided with <codeph>TBool</codeph>. It is possible, |
|
18 but strongly deprecated, to assign numeric values to a <xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref>.</p> |
|
19 <p>In general, a <xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref> should be tested using</p> |
|
20 <codeblock id="GUID-BF6AF640-D03A-5335-B67B-3852C2808833" xml:space="preserve">if (x) ...</codeblock> |
|
21 <p>or</p> |
|
22 <codeblock id="GUID-D00FBCFD-57C2-5D1E-999A-0567AFBAA258" xml:space="preserve">if (!x) ...</codeblock> |
|
23 <p>rather than</p> |
|
24 <codeblock id="GUID-41D4B777-217D-5BA5-B44A-59C2419FB2D6" xml:space="preserve">if (x==ETrue) ...</codeblock> |
|
25 <p>or</p> |
|
26 <codeblock id="GUID-72F416BC-213F-5731-B26A-8ECE2916935B" xml:space="preserve">if (x==EFalse) ...</codeblock> |
|
27 <p>The <xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref> uses a whole machine word. When a class has |
|
28 a number of flags, they should be encoded in a flags byte, and suitable getter/setter |
|
29 functions, taking <xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref> s, should be coded to access that |
|
30 flags byte.</p> |
|
31 </conbody></concept> |