Adding objects | |
Add the given object reference to the topmost autorelease pool. | |
void | AddObject (const CP_M_RefCounted *inObj) |
Add the given object reference to the this autorelease pool. | |
static void | AddObjectToTopMostPool (const CP_M_RefCounted *inObj) |
Public Member Functions | |
void | ReleaseAll () |
Release all references inside this pool. | |
Constructor / Destructor | |
CP_AutoReleasePool () | |
Constructor. | |
~CP_AutoReleasePool () | |
Destructor. | |
Protected Attributes | |
std::vector< const CP_M_RefCounted * > | fObjects |
Object references managed by this pool. |
A* getAnA() { A* a = new A; a->AutoRelease(); return a; } void foo() { A* a = getAnA(); // no idea whether foo creates A, but it doesn't matter, since autorelease pool takes care. // ... do something with a // no need to release a here. }
|
Create a new autorelease pool and push it onto the stack of available pools. Any subsequent call to AddObjectToTopMostPool will result in the object to be added to the new autorelease pool. |
|
|
|
|
|
|
|
Releases all registered object references in reverse order of addition. |
|
|