diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-B9F07057-4B31-5FE8-BE4C-98CC8151CD29.dita --- a/Symbian3/PDK/Source/GUID-B9F07057-4B31-5FE8-BE4C-98CC8151CD29.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-B9F07057-4B31-5FE8-BE4C-98CC8151CD29.dita Tue Mar 30 11:56:28 2010 +0100 @@ -10,11 +10,11 @@ Single -Phase Constructor TutorialSingle phase construction is enabled by defining the CONSTRUCTORS_MAY_LEAVE() macro +Phase Constructor TutorialSingle phase construction is enabled by defining the CONSTRUCTORS_MAY_LEAVE() macro in a public section of a class definition if the single phase construction is part of the public interface of the class. -

Required background

Before beginning you must know -the following:

    +

    Required background

    Before +beginning you must know the following:

    • RAII: The Resource Acquisition Is Initialization (RAII) idiom is the basis of the implementation of the smart pointer class templates.

    • @@ -22,9 +22,10 @@ This macro is used for enabling single phase construction, particularly for CBase-derived classes.

    -

    Single phase constructor provides a means to use the RAII concepts -for Symbian Developers who are familiar with C++ standards. It is provided -as a tool and needs to be used after careful consideration.

    +

    Single phase constructor +provides a means to use the RAII concepts for Symbian Developers who are familiar +with C++ standards. It is provided as a tool and needs to be used after careful +consideration.

    Enabling single phase constructor @@ -64,9 +65,10 @@ } -Need to declare the CONSTRUCTORS_MAY_LEAVE macro -

    This is necessary because Symbian platform currently lacks the -placement delete operator counterparts corresponding to the CBase placement +Need to declare +the CONSTRUCTORS_MAY_LEAVE macro +

    This is necessary because the Symbian platform currently lacks +the placement delete operator counterparts corresponding to the CBase placement new operators that take a TLeave parameter (new(ELeave)). The macro defines these missing placement delete operators and ensures that all allocated memory can be freed if a constructor leaves.