JX Application Framework
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
JMMTable Class Referenceabstract

#include <JMMTable.h>

Inheritance diagram for JMMTable:
[legend]

Public Member Functions

 JMMTable (JMemoryManager *manager)
 
virtual ~JMMTable ()
 
void AddNewRecord (const JMMRecord &record, const bool checkDoubleAllocation)
 
bool SetRecordDeleted (JMMRecord *record, const void *block, const JUtf8Byte *file, const JUInt32 line, const bool isArray)
 
virtual JSize GetAllocatedCount () const =0
 
virtual JSize GetAllocatedBytes () const =0
 
virtual JSize GetDeletedCount () const =0
 
virtual JSize GetTotalCount () const =0
 
virtual void SaveSnapshot ()=0
 
virtual void StreamSnapshotDiffForDebug (std::ostream &output, const JMemoryManager::RecordFilter &filter) const =0
 
virtual void PrintAllocated (const JMemoryManager::RecordFilter &filter) const =0
 
virtual void StreamAllocatedForDebug (std::ostream &output, const JMemoryManager::RecordFilter &filter) const =0
 
virtual void StreamAllocationSizeHistogram (std::ostream &output, const JMemoryManager::RecordFilter &filter) const =0
 

Protected Member Functions

virtual void _AddNewRecord (const JMMRecord &record, const bool checkDoubleAllocation)=0
 
virtual bool _SetRecordDeleted (JMMRecord *record, const void *block, const JUtf8Byte *file, const JUInt32 line, const bool isArray)=0
 
void BeginRecursiveBlock ()
 
void EndRecursiveBlock ()
 
void NotifyObjectDeletedAsArray (const JMMRecord &record)
 
void NotifyArrayDeletedAsObject (const JMMRecord &record)
 
void NotifyUnallocatedDeletion (const JUtf8Byte *file, const JUInt32 line, const bool isArray)
 
void NotifyMultipleDeletion (const JMMRecord &firstRecord, const JUtf8Byte *file, const JUInt32 line, const bool isArray)
 
void NotifyMultipleAllocation (const JMMRecord &thisRecord, const JMMRecord &firstRecord)
 
void PrintAllocatedRecord (const JMMRecord &record) const
 
void AddToHistogram (const JMMRecord &record, JSize histo[JMemoryManager::kHistogramSlotCount]) const
 
void StreamHistogram (std::ostream &output, const JSize histo[JMemoryManager::kHistogramSlotCount]) const
 

Detailed Description

An abstract base class for a JMemoryManager memory table.





Base code generated by Codemill v0.1.0

Constructor & Destructor Documentation

◆ JMMTable()

JMMTable::JMMTable ( JMemoryManager manager)

◆ ~JMMTable()

JMMTable::~JMMTable ( )
virtual

Member Function Documentation

◆ _AddNewRecord()

virtual void JMMTable::_AddNewRecord ( const JMMRecord record,
const bool  checkDoubleAllocation 
)
protectedpure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ _SetRecordDeleted()

virtual bool JMMTable::_SetRecordDeleted ( JMMRecord record,
const void *  block,
const JUtf8Byte file,
const JUInt32  line,
const bool  isArray 
)
protectedpure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ AddNewRecord()

void JMMTable::AddNewRecord ( const JMMRecord record,
const bool  checkDoubleAllocation 
)

◆ AddToHistogram()

void JMMTable::AddToHistogram ( const JMMRecord record,
JSize  histo[JMemoryManager::kHistogramSlotCount] 
) const
protected

◆ BeginRecursiveBlock()

void JMMTable::BeginRecursiveBlock ( )
protected

◆ EndRecursiveBlock()

void JMMTable::EndRecursiveBlock ( )
protected

◆ GetAllocatedBytes()

virtual JSize JMMTable::GetAllocatedBytes ( ) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ GetAllocatedCount()

virtual JSize JMMTable::GetAllocatedCount ( ) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ GetDeletedCount()

virtual JSize JMMTable::GetDeletedCount ( ) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ GetTotalCount()

virtual JSize JMMTable::GetTotalCount ( ) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ NotifyArrayDeletedAsObject()

void JMMTable::NotifyArrayDeletedAsObject ( const JMMRecord record)
protected

◆ NotifyMultipleAllocation()

void JMMTable::NotifyMultipleAllocation ( const JMMRecord thisRecord,
const JMMRecord firstRecord 
)
protected

◆ NotifyMultipleDeletion()

void JMMTable::NotifyMultipleDeletion ( const JMMRecord firstRecord,
const JUtf8Byte file,
const JUInt32  line,
const bool  isArray 
)
protected

◆ NotifyObjectDeletedAsArray()

void JMMTable::NotifyObjectDeletedAsArray ( const JMMRecord record)
protected

◆ NotifyUnallocatedDeletion()

void JMMTable::NotifyUnallocatedDeletion ( const JUtf8Byte file,
const JUInt32  line,
const bool  isArray 
)
protected

◆ PrintAllocated()

virtual void JMMTable::PrintAllocated ( const JMemoryManager::RecordFilter filter) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ PrintAllocatedRecord()

void JMMTable::PrintAllocatedRecord ( const JMMRecord record) const
protected

◆ SaveSnapshot()

virtual void JMMTable::SaveSnapshot ( )
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ SetRecordDeleted()

bool JMMTable::SetRecordDeleted ( JMMRecord record,
const void *  block,
const JUtf8Byte file,
const JUInt32  line,
const bool  isArray 
)

If the block is currently allocated, *record is set to its record and true is return. If not, *record is unchanged and false is returned.

◆ StreamAllocatedForDebug()

virtual void JMMTable::StreamAllocatedForDebug ( std::ostream &  output,
const JMemoryManager::RecordFilter filter 
) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ StreamAllocationSizeHistogram()

virtual void JMMTable::StreamAllocationSizeHistogram ( std::ostream &  output,
const JMemoryManager::RecordFilter filter 
) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.

◆ StreamHistogram()

void JMMTable::StreamHistogram ( std::ostream &  output,
const JSize  histo[JMemoryManager::kHistogramSlotCount] 
) const
protected

The dual function is in jx_memory_debugger.

◆ StreamSnapshotDiffForDebug()

virtual void JMMTable::StreamSnapshotDiffForDebug ( std::ostream &  output,
const JMemoryManager::RecordFilter filter 
) const
pure virtual

Implemented in JMMArrayTable, and JMMHashTable.


The documentation for this class was generated from the following files: