Symbian3/PDK/Source/GUID-189FBB0E-0A47-5CCC-9209-DC69E76DE6B3.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     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>