#include <coherence/lang/AbstractHeapAnalyzer.hpp>
Inherits Object, and HeapAnalyzer.
Inherited by ClassBasedHeapAnalyzer.
Most notably it includes support for detecting analyzer re-entrance so that analyzers can avoid endlessly recursing if they create objects as part of the registration process.
Public Types | ||||
| typedef spec::Handle | Handle | |||
| AbstractHeapAnalyzer Handle definition. | ||||
| typedef spec::View | View | |||
| AbstractHeapAnalyzer View definition. | ||||
| typedef spec::Holder | Holder | |||
| AbstractHeapAnalyzer Holder definition. | ||||
Public Member Functions | ||||
| virtual TypedHandle < const String > | toString () const | |||
| Capture a snapshot and output it to the supplied stream. | ||||
Protected Member Functions | ||||
| virtual void | safeRegisterObject (const Object &o)=0 | |||
| Registers an object with the heap analyzer. | ||||
| virtual void | safeUnregisterObject (const Object &o)=0 | |||
| Unregisters an object with the heap analyzer. | ||||
| virtual void | registerObject (const Object &o) | |||
| Register a newly created Object with the system. This method is called automatically by coherence::lang::Object once the Object has finished construction.
| ||||
| virtual void | unregisterObject (const Object &o) | |||
| Unregister an Object with the system. This method is called automatically by coherence::lang::Object just prior to the deletion of the Object. No new handles or views may be created to the object.
| ||||
| virtual void safeRegisterObject | ( | const Object & | o | ) | [protected, pure virtual] |
Registers an object with the heap analyzer.
| o | the object to register |
Implemented in ClassBasedHeapAnalyzer.
| virtual void safeUnregisterObject | ( | const Object & | o | ) | [protected, pure virtual] |
Unregisters an object with the heap analyzer.
| o | the object to unregister |
Implemented in ClassBasedHeapAnalyzer.
| virtual void registerObject | ( | const Object & | o | ) | [protected, virtual] |
Register a newly created Object with the system.
This method is called automatically by coherence::lang::Object once the Object has finished construction.
| o | the newly created Object. |
| o | the object to register |
Implements HeapAnalyzer.
Reimplemented in ClassBasedHeapAnalyzer.
| virtual void unregisterObject | ( | const Object & | o | ) | [protected, virtual] |
Unregister an Object with the system.
This method is called automatically by coherence::lang::Object just prior to the deletion of the Object. No new handles or views may be created to the object.
| o | the Object to unregister |
| o | the object to unregister |
Implements HeapAnalyzer.
Reimplemented in ClassBasedHeapAnalyzer.
| virtual TypedHandle<const String> toString | ( | ) | const [virtual] |
Capture a snapshot and output it to the supplied stream.
| out | the stream to output to |
Reimplemented from Object.