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..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
ucommon::autorelease Class Reference

Create a linked list of auto-releasable objects. More...

#include <memory.h>

Collaboration diagram for ucommon::autorelease:
[legend]

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

LinkedObjectpool
 

Detailed Description

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.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 741 of file memory.h.

Constructor & Destructor Documentation

◆ autorelease()

ucommon::autorelease::autorelease ( )

Create an initially empty autorelease pool.

Definition at line 872 of file memory.cpp.

References pool.

◆ ~autorelease()

ucommon::autorelease::~autorelease ( )

Destroy an autorelease pool and delete member objects.

Definition at line 877 of file memory.cpp.

References release().

Here is the call graph for this function:

Member Function Documentation

◆ __DELETE_COPY()

ucommon::autorelease::__DELETE_COPY ( autorelease  )
private

References ucommon::operator+=().

Here is the call graph for this function:

◆ operator+=()

void ucommon::autorelease::operator+= ( LinkedObject object)

Add a linked object to the autorelease pool.

Parameters
objectto add to pool.

Definition at line 893 of file memory.cpp.

References ucommon::LinkedObject::enlist(), and pool.

Here is the call graph for this function:

◆ release()

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().

Here is the call graph for this function:

Member Data Documentation

◆ pool

LinkedObject* ucommon::autorelease::pool
private

Definition at line 744 of file memory.h.

Referenced by autorelease(), operator+=(), and release().


The documentation for this class was generated from the following files: