artefaktur
software engineer &        architecture

 
 
 
 

class LocalGcHeap

Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::lang::sys::LocalGcHeap Class Reference

#include <LocalGcHeap.h>

Inheritance diagram for acdk::lang::sys::LocalGcHeap:

acdk::lang::Object acdk::lang::ref::NotifyObjectEventListener acdk::lang::ObjectBase acdk::lang::dmi::StdDispatch List of all members.

Detailed Description

internal API


Public Types

typedef std::map< Object *,
SharedOwnedValue
ObjectMap

Public Member Functions

virtual Allocatorallocator ()
 returns the Allocator of this Object.

virtual void listObjects (::acdk::lang::ref::NotifyObjectEventListener *listener, int flags)
virtual bool gc (bool recursiv=true)
 LocalGcHeap ()
void addObject (Object *o, RObject *referedFrom=0)
void eraseFromSet (Object *o)
 remove this object from this heap

virtual void notifyBeforeConstruction (Object *obj)
virtual void notifyWhileDestruction (Object *obj)
 called in destructor of given object.

virtual bool listHeaps (IN(::acdk::lang::sys::RHeapFrame) theheap)
 used as callback function to list all heaps of all threads.

virtual bool listedAllocated (IN(::acdk::lang::sys::RHeapFrame) theheap, void *obj,::acdk::lang::sys::AllocatedType type, int size)
 used as callback function, used by::acdk::lang::sys::HeapFrame::listObjects()

virtual bool notifyBeforeDestruction (Object *obj)
 called if RefCount == 0.


Static Public Member Functions

bool gcObject (Object *obj, RObject *referedFrom=0)
 check if this object can be gced


Public Attributes

ObjectMap _objects

Member Typedef Documentation

typedef std::map<Object*, SharedOwnedValue> acdk::lang::sys::LocalGcHeap::ObjectMap
 


Constructor & Destructor Documentation

acdk::lang::sys::LocalGcHeap::LocalGcHeap  )  [inline]
 


Member Function Documentation

void acdk::lang::sys::LocalGcHeap::addObject Object o,
RObject referedFrom = 0
 

virtual Allocator* acdk::lang::sys::LocalGcHeap::allocator  )  [virtual]
 

returns the Allocator of this Object.

By default it returns the StandardHeapAllocator

Reimplemented from acdk::lang::ObjectBase.

void acdk::lang::sys::LocalGcHeap::eraseFromSet Object o  ) 
 

remove this object from this heap

virtual bool acdk::lang::sys::LocalGcHeap::gc bool  recursiv = true  )  [virtual]
 

bool acdk::lang::sys::LocalGcHeap::gcObject Object obj,
RObject referedFrom = 0
[static]
 

check if this object can be gced

virtual bool acdk::lang::sys::LocalGcHeap::listedAllocated IN(::acdk::lang::sys::RHeapFrame theheap,
void *  obj,
::acdk::lang::sys::AllocatedType  type,
int  size
[inline, virtual]
 

used as callback function, used by::acdk::lang::sys::HeapFrame::listObjects()

Parameters:
thehead the current heap
obj the Object in the heap
Returns:
to abort listing return false

Implements acdk::lang::ref::NotifyObjectEventListener.

virtual bool acdk::lang::sys::LocalGcHeap::listHeaps IN(::acdk::lang::sys::RHeapFrame theheap  )  [inline, virtual]
 

used as callback function to list all heaps of all threads.

Parameters:
tid ThreadID of the Thread, which owns the Heap
theheap 

Implements acdk::lang::ref::NotifyObjectEventListener.

virtual void acdk::lang::sys::LocalGcHeap::listObjects ::acdk::lang::ref::NotifyObjectEventListener listener,
int  flags
[virtual]
 

virtual void acdk::lang::sys::LocalGcHeap::notifyBeforeConstruction Object obj  )  [inline, virtual]
 

Implements acdk::lang::ref::NotifyObjectEventListener.

virtual bool acdk::lang::sys::LocalGcHeap::notifyBeforeDestruction Object obj  )  [inline, virtual]
 

called if RefCount == 0.

Returns:
false if object should not be destroyd

Implements acdk::lang::ref::NotifyObjectEventListener.

virtual void acdk::lang::sys::LocalGcHeap::notifyWhileDestruction Object obj  )  [inline, virtual]
 

called in destructor of given object.

Note virtual function will not work

Implements acdk::lang::ref::NotifyObjectEventListener.


Member Data Documentation

ObjectMap acdk::lang::sys::LocalGcHeap::_objects
 

 
Last modified 2005-05-08 18:32 by SYSTEM By Artefaktur, Ing. Bureau Kommer