Symbian3/SDK/Source/GUID-C85B4EA2-0184-52AF-B097-152E4A023CEF.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     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-C85B4EA2-0184-52AF-B097-152E4A023CEF" xml:lang="en"><title>Abstract
       
    13 base descriptor classes</title><shortdesc>Describes the modifiable descriptor class and the non-modifiable
       
    14 descriptor class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    15 <p>The concrete descriptor classes are all derived from a set of base classes.
       
    16 The base classes are abstract and implement nearly most of the behaviour of
       
    17 descriptors. They are:</p>
       
    18 <ul>
       
    19 <li id="GUID-0942F246-8BB5-50DB-8314-AA4B1DD1B8C0"><p>The abstract non-modifiable
       
    20 descriptor</p> </li>
       
    21 <li id="GUID-1750CF5B-E6F3-57E5-A107-B17DA0481E22"><p>The abstract modifiable
       
    22 descriptor</p> </li>
       
    23 </ul>
       
    24 <section id="GUID-136970EE-DFB5-469F-9597-1105AA05947E"><title>The abstract non-modifiable descriptor class</title> <p>The
       
    25 class has a data member containing the length of the data represented by the
       
    26 serived concrete descriptor. It also provides the set of functions through
       
    27 which data can be accessed but not modified.</p> <p>This class is supplied
       
    28 in two variants:</p> <ul>
       
    29 <li id="GUID-669B11F1-84DA-5064-88B8-5D3F603114F6"><p>the 16 bit variant,
       
    30 a <codeph>TDesC16</codeph>, to handle Unicode strings.</p> </li>
       
    31 <li id="GUID-A9F1113E-0736-570D-BF57-B060817549C8"><p>the 8 bit variant, a <codeph>TDesC8</codeph>,
       
    32 to handle non-Unicode strings and binary data.</p> </li>
       
    33 </ul> <p>There is also a build independent type, <codeph>TDesC</codeph>. This
       
    34 is the type which is most commonly used in program code; the appropriate variant
       
    35 is selected at build time.</p> <p>An explicit 8 bit variant is chosen when
       
    36 handling binary data. The explicit 16 bit variant is rarely used.</p> </section>
       
    37 <section id="GUID-DA165923-2587-4F77-AEAF-FA012B7EAC24"><title>The abstract modifiable descriptor class</title> <p>The class
       
    38 has a data member containing the maximum length of data that the descriptor
       
    39 is capable of representing. It also provides the set of functions through
       
    40 which data can be modified.</p> <p>This class is supplied in two variants:</p> <ul>
       
    41 <li id="GUID-3F876EFE-1E91-5834-914A-45478D70B0A7"><p>the 16 bit variant,
       
    42 a <codeph>TDes16</codeph>, to handle Unicode strings.</p> </li>
       
    43 <li id="GUID-1F1F3894-3CD0-5DEB-AA75-8259CC86BF58"><p>the 8 bit variant, a <codeph>TDes8</codeph>,
       
    44 to handle non-Unicode strings and binary data.</p> </li>
       
    45 </ul> <p>There is also a build independent type, <codeph>TDes</codeph>. This
       
    46 is the type which is most commonly used in program code; the appropriate variant
       
    47 is selected at build time.</p> <p>An explicit 8 bit variant is chosen when
       
    48 handling binary data. The explicit 16 bit variant is rarely used.</p> </section>
       
    49 </conbody></concept>