2005/5/9

     
 

class LocalGcHeap

artefaktur
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 Allocator * allocator ()
 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