#include <ManagedObject.hpp>
Inheritance diagram for Ionflux::Tools::ManagedObject:
Public Member Functions | |
ManagedObject () | |
Constructor. | |
virtual | ~ManagedObject () |
Destructor. | |
virtual bool | setManaged (bool newManage) |
Set memory management flag. | |
virtual bool | isManaged () |
Get memory management flag. | |
virtual unsigned int | ref () |
Increase reference count. | |
virtual unsigned int | unref () |
Decrease reference count. | |
virtual unsigned int | getRefCount () |
Get reference count. | |
Static Public Attributes | |
static const ManagedObjectClassInfo | managedObjectClassInfo |
Class information instance. | |
static const ClassInfo * | CLASS_INFO |
Class information. | |
Protected Attributes | |
bool | managed |
Memory management flag. | |
unsigned int | refCount |
Reference count. |
This class provides a base class for objects the allocated memory of which is managed by another class, called the 'owner' or 'parent' of the object. Making an object managed by another improves the chances that it is properly deleted at the end of its lifetime. This class also provides a reference counting facility that may be used along with or independently of the memory management flag.
|
Constructor. Construct new ManagedObject object. |
|
Destructor. Destruct ManagedObject object. |
|
Get reference count. Get the number of references (reference count).
|
|
Get memory management flag. Get the memory management flag of this object.
|
|
Increase reference count. Increase the reference count.
|
|
Set memory management flag. This controls whether memory allocated for this object should be managed by its parent object.
|
|
Decrease reference count. Decrease the reference count.
|
|
Initial value: Class information.
Reimplemented from Ionflux::Tools::Object. Reimplemented in Ionflux::Tools::Database, Ionflux::Tools::MySQLDatabase, Ionflux::Tools::Utf8Tokenizer, and Ionflux::Tools::Utf8TokenTypeMap. |
|
Memory management flag.
|
|
Class information instance.
|
|
Reference count.
|