This class implements an extremely slow but simple garbage collection algorithm.
Derived from
No base class
Include files
<wx/fl/garbagec.h>
Data structures
Members
GarbageCollector::GarbageCollector
GarbageCollector::~GarbageCollector
GarbageCollector::AddDependency
GarbageCollector::AddObject
GarbageCollector::ArrangeCollection
GarbageCollector::DestroyItemList
GarbageCollector::FindItemNode
GarbageCollector::FindReferenceFreeItemNode
GarbageCollector::GetCycledObjects
GarbageCollector::GetRegularObjects
GarbageCollector::RemoveReferencesToNode
GarbageCollector::Reset
GarbageCollector::ResolveReferences
GarbageCollector()
Default constructor.
~GarbageCollector()
Destructor.
void AddDependency(void* pObj, void* pDependsOnObj)
Prepare data for garbage collection.
void AddObject(void* pObj, int refCnt = 1)
Prepare data for garbage collection.
void ArrangeCollection()
Executes garbage collection algorithm.
void DestroyItemList(wxList& lst)
Destroys a list of items.
wxNode* FindItemNode(void* pForObj)
Internal method for finding a node.
wxNode* FindReferenceFreeItemNode()
Internal method for findind and freeing a node.
wxList& GetCycledObjects()
Get cycled objects.
wxList& GetRegularObjects()
Accesses the results of the algorithm.
void RemoveReferencesToNode(wxNode* pItemNode)
Remove references to this node.
void Reset()
Removes all data from the garbage collector.
void ResolveReferences()
Internal method for resolving references.