ucommon
7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
![]() ![]() |
Create a linked list of auto-releasable objects. More...
#include <memory.h>
Public Member Functions | |
autorelease () | |
Create an initially empty autorelease pool. More... | |
~autorelease () | |
Destroy an autorelease pool and delete member objects. More... | |
void | release (void) |
Destroy an autorelease pool and delete member objects. More... | |
void | operator+= (LinkedObject *object) |
Add a linked object to the autorelease pool. More... | |
Private Member Functions | |
__DELETE_COPY (autorelease) | |
Private Attributes | |
LinkedObject * | pool |
Create a linked list of auto-releasable objects.
LinkedObject derived objects can be created that are assigned to an autorelease object list. When the autorelease object falls out of scope, all the objects listed' with it are automatically deleted.
ucommon::autorelease::autorelease | ( | ) |
Create an initially empty autorelease pool.
Definition at line 872 of file memory.cpp.
References pool.
ucommon::autorelease::~autorelease | ( | ) |
Destroy an autorelease pool and delete member objects.
Definition at line 877 of file memory.cpp.
References release().
|
private |
void ucommon::autorelease::operator+= | ( | LinkedObject * | object | ) |
Add a linked object to the autorelease pool.
object | to add to pool. |
Definition at line 893 of file memory.cpp.
References ucommon::LinkedObject::enlist(), and pool.
void ucommon::autorelease::release | ( | void | ) |
Destroy an autorelease pool and delete member objects.
This may be used to release an existing pool programmatically when desired rather than requiring the object to fall out of scope.
Definition at line 882 of file memory.cpp.
References ucommon::LinkedObject::getNext(), pool, and ucommon::LinkedObject::release().
Referenced by ~autorelease().
|
private |
Definition at line 744 of file memory.h.
Referenced by autorelease(), operator+=(), and release().