Open CASCADE Technology
6.5.4
|
#include <OSD_MAllocHook.hxx>
Data Structures | |
struct | Numbers |
Public Member Functions | |
CollectBySize () | |
Constructor. | |
~CollectBySize () | |
Destructor. | |
void | Reset () |
Reset the buffer and start collecting events. | |
Standard_Boolean | MakeReport (const char *theOutFile) |
Write report in the given file. | |
virtual void | AllocEvent (size_t, long) |
Allocation event handler. | |
virtual void | FreeEvent (void *, size_t, long) |
Freeing event handler. | |
Data Fields | |
Standard_Mutex | myMutex |
used for thread-safe access | |
Numbers * | myArray |
indexed from 0 to myMaxAllocSize-1 | |
ptrdiff_t | myTotalLeftSize |
currently remained allocated size | |
size_t | myTotalPeakSize |
maxium cumulative allocated size | |
size_t | myBreakSize |
Static Public Attributes | |
static const size_t | myMaxAllocSize |
maximum tracked size |
Implementation of the handler that collects numbers of allocations/deallocations for each block size directly in the memory.
virtual void OSD_MAllocHook::CollectBySize::AllocEvent | ( | size_t | theSize, |
long | theRequestNum | ||
) | [virtual] |
It is called when allocation is done
theSize | the size of the memory block in bytes |
theRequestNum | the allocation order number of the memory block |
Implements OSD_MAllocHook::Callback.
virtual void OSD_MAllocHook::CollectBySize::FreeEvent | ( | void * | theData, |
size_t | theSize, | ||
long | theRequestNum | ||
) | [virtual] |
It is called when the block is freed
theData | the pointer to the user data section of the memory block |
theSize | the size of the memory block in bytes |
theRequestNum | the allocation order number of the memory block |
Implements OSD_MAllocHook::Callback.
Standard_Boolean OSD_MAllocHook::CollectBySize::MakeReport | ( | const char * | theOutFile | ) |
const size_t OSD_MAllocHook::CollectBySize::myMaxAllocSize [static] |