Symbian3/PDK/Source/GUID-B1D5B680-00E3-5702-985A-94256180E2D8.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept id="GUID-B1D5B680-00E3-5702-985A-94256180E2D8" xml:lang="en"><title>Automatic
    12 <concept id="GUID-B1D5B680-00E3-5702-985A-94256180E2D8" xml:lang="en"><title>Automatic
    13 Resource Management</title><shortdesc>Automatic resource management is designed to increase the baseline
    13 Resource Management</title><shortdesc>Automatic resource management is designed to increase the baseline
    14 usability of Symbian platform for Symbian Developers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    14 usability of the Symbian platform for Symbian Developers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    15 <section><title>Need for Automatic resource management</title><p>The use of
    15 <section id="GUID-91B268D4-835A-46C8-B5E8-6C99580C2BF1"><title>Need for Automatic resource management</title><p>The use of
    16 the Symbian Cleanup Stack is more difficult, error-prone and requires writing
    16 the Symbian Cleanup Stack is more difficult, error-prone and requires writing
    17 extra code for explicit cleanup using the CleanupStack. In contrast, the Symbian
    17 extra code for explicit cleanup using the CleanupStack. In contrast, the Symbian
    18 C++ class templates for automatic resource management are relatively easier
    18 C++ class templates for automatic resource management are relatively easier
    19 to use. They provide automatic exception-safe cleanup upon normal or exceptional
    19 to use. They provide automatic exception-safe cleanup upon normal or exceptional
    20 exit from a scope, in which case they do not require writing any code for
    20 exit from a scope, in which case they do not require writing any code for
    21 invoking the cleanup of resources. The resources are automatically cleaned
    21 invoking the cleanup of resources. The resources are automatically cleaned
    22 up by the destructors of the template classes in that case. </p></section>
    22 up by the destructors of the template classes in that case. </p></section>
    23 <section><title>Characteristics of Automatic resource management</title><p>The
    23 <section id="GUID-C6274809-F4F2-4F24-9911-52F9E9EAE650"><title>Characteristics of Automatic resource management</title><p>The
    24 following are the characteristics of automatic resource management: </p> <ul>
    24 following are the characteristics of automatic resource management: </p> <ul>
    25 <li id="GUID-3A2FF8D0-FB26-5DBB-AD48-5381FF1BF3FA"><p>Improved usability versus
    25 <li id="GUID-3A2FF8D0-FB26-5DBB-AD48-5381FF1BF3FA"><p>Improved usability versus
    26 the cleanup stack and the manual authoring of destructors. </p> </li>
    26 the cleanup stack and the manual authoring of destructors. </p> </li>
    27 <li id="GUID-FEA29BB7-4A22-5B38-B729-778799A87C64"><p>Covering data member
    27 <li id="GUID-FEA29BB7-4A22-5B38-B729-778799A87C64"><p>Covering data member
    28 management as well as local variable management. </p> </li>
    28 management as well as local variable management. </p> </li>
    29 <li id="GUID-BB5C0699-F7D3-5137-A486-CD9A635195CB"><p>A comprehensive replacement
    29 <li id="GUID-BB5C0699-F7D3-5137-A486-CD9A635195CB"><p>A comprehensive replacement
    30 for the existing cleanup stack API. </p> </li>
    30 for the existing cleanup stack API. </p> </li>
    31 <li id="GUID-BD725E12-50A8-5741-BE49-D5054BA78813"><p>Ability to handle C-classes,
    31 <li id="GUID-BD725E12-50A8-5741-BE49-D5054BA78813"><p>Ability to handle C-classes,
    32 R-classes, and custom cleanups. </p> </li>
    32 R-classes, and custom cleanups. </p> </li>
    33 </ul></section>
    33 </ul></section>
    34 <section><title>Template classes</title><p>The following variants of the class
    34 <section id="GUID-0178F1B0-A710-45A9-ACC4-85401FE905AD"><title>Template classes</title><p>The following variants of the class
    35 templates for automatic resource management have been provided: </p> <ul>
    35 templates for automatic resource management have been provided: </p> <ul>
    36 <li id="GUID-B08EC001-AECA-50E0-BAA4-5A9779703350"><p> <xref href="GUID-24AEB510-9FB5-318C-BA1E-C6ACA0BB87BC.dita"><apiname> LCleanedup</apiname></xref> class
    36 <li id="GUID-B08EC001-AECA-50E0-BAA4-5A9779703350"><p> <xref href="GUID-24AEB510-9FB5-318C-BA1E-C6ACA0BB87BC.dita"><apiname> LCleanedup</apiname></xref> class
    37 templates </p> <p>The LCleanedup class templates provided are: </p> <table id="GUID-0D32DEDA-4F92-506E-8335-A0C182ECD7AD">
    37 templates </p> <p>The LCleanedup class templates provided are: </p> <table id="GUID-0D32DEDA-4F92-506E-8335-A0C182ECD7AD">
    38 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
    38 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
    39 <thead>
    39 <thead>
    98 </row>
    98 </row>
    99 </tbody>
    99 </tbody>
   100 </tgroup>
   100 </tgroup>
   101 </table> </li>
   101 </table> </li>
   102 </ul></section>
   102 </ul></section>
   103 <section><title>See Also</title> <p><xref href="GUID-B007634D-4D55-528A-8B85-6120C633AC8B.dita">EUser
   103 <section id="GUID-E204CB7C-E0A0-4E96-9BA8-DD7D69A2E90F"><title>See Also</title> <p><xref href="GUID-B007634D-4D55-528A-8B85-6120C633AC8B.dita">EUser
   104 High Level Overview</xref>  </p> <p><xref href="GUID-D33EB877-CCCB-527B-8AFC-4A8385C55E78.dita">EUser
   104 High Level Overview</xref>  </p> <p><xref href="GUID-D33EB877-CCCB-527B-8AFC-4A8385C55E78.dita">EUser
   105 High Level Tutorials</xref>  </p> </section>
   105 High Level Tutorials</xref>  </p> </section>
   106 </conbody></concept>
   106 </conbody></concept>