CleanupReleasePushL()The CleanupReleasePushL() templated function constructs
and pushes a TCleanupItem onto the cleanup stack. When
CleanupStack::PopAndDestroy() is called, the
Release() member function of the object encapsulated by the
TCleanupItem is called.
...
RTestThree three;
CleanupReleasePushL(three);
...
CleanupStack::PopAndDestroy();
...
The TCleanupItem object encapsulates a reference to the
RTestThree object; the cleanup operation is the static function
Release() of the templated class CleanupRelease<class
T>. This is implemented by simply calling the Release()
member function of RTestThree. This means that
RTestThree must define or inherit a member function
Release() which performs whatever clean up is required.