Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: e32base.inl

CleanupReleasePushL()

inline void CleanupReleasePushL(T &aRef);

Description

Constructs and pushes a TCleanupItem object onto the cleanup stack.

The TCleanupItem encapsulates:

1. a reference aRef to the object of type class T which is to be cleaned up

2. an associated cleanup operation.

The cleanup operation is the private static function Release() of the templated class CleanupRelease and is invoked as a result of a subsequent call to CleanupStack::PopAndDestroy().

CleanupRelease::Release() is passed a pointer to the class T object to be cleaned up, and the function implements cleanup by calling Release() on the passed object. The class T object must, therefore, define and implement (or inherit) a Release() member function.

An example of its use:

class RTestThree;
    {
public :
    ...
    IMPORT_C void Release();
    ...
    }
...
RTestThree three;
CleanupReleasePushL(three);
...
CleanupStack::PopAndDestroy(); // <--- results in Release() being called on "three".
......

Parameters

T &aRef

A reference to a class T type object for which the cleanup item is being created.

See also: