PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CMemMan Klassenreferenz

Speicherverwaltung: MemMan. Mehr ...

Öffentliche Methoden

 CMemMan ()
 
 ~CMemMan ()
 
void * Calloc (ppldd size)
 
void * Calloc (size_t nmemb, size_t size)
 
void Clear ()
 
void Free (void *adr)
 
ppluint64 GetFreeMem ()
 
ppluint64 GetUsedMem ()
 
void * Malloc (ppldd size, bool clear=false)
 
void SetDefaultGrow (ppluint32 bytes)
 
char * Strdup (const char *str)
 
char * Strndup (const char *str, size_t size)
 

Private Methoden

void * AllocateSlot (void *block, void *slot, ppldd size, bool clear)
 
ppluint32 CRC (void *slot)
 
void FindBiggestSlot (void *block)
 

Private Attribute

void * first
 
ppluint32 growth
 
void * last
 
ppluint32 sig
 
ppluint64 size
 
ppluint64 size_free
 
ppluint64 size_used
 
ppluint32 sizeof_memman
 
ppluint32 sizeof_memslot
 

Ausführliche Beschreibung

CMemMan geht einen Schritt weiter. Sie allokiert von vorne herein mehr Speicher und verwaltet diesen selbst innerhalb einer Liste. Die Klasse ist ideal dafür geeignet, wenn viele kleine Speicherblöcke mit unterschiedlichen Größen allokiert werden müssen, diese aber selten wieder freigegeben werden.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CMemMan::CMemMan ( )
ppl6::CMemMan::~CMemMan ( )

Dokumentation der Elementfunktionen

void * ppl6::CMemMan::AllocateSlot ( void *  block,
void *  slot,
ppldd  size,
bool  clear 
)
private
void * ppl6::CMemMan::Calloc ( ppldd  size)
void * ppl6::CMemMan::Calloc ( size_t  nmemb,
size_t  size 
)
void ppl6::CMemMan::Clear ( )
ppluint32 ppl6::CMemMan::CRC ( void *  slot)
private
void ppl6::CMemMan::FindBiggestSlot ( void *  block)
private
void ppl6::CMemMan::Free ( void *  adr)
ppluint64 ppl6::CMemMan::GetFreeMem ( )
ppluint64 ppl6::CMemMan::GetUsedMem ( )
void * ppl6::CMemMan::Malloc ( ppldd  size,
bool  clear = false 
)
void ppl6::CMemMan::SetDefaultGrow ( ppluint32  bytes)
char * ppl6::CMemMan::Strdup ( const char *  str)
char * ppl6::CMemMan::Strndup ( const char *  str,
size_t  size 
)

Dokumentation der Datenelemente

void* ppl6::CMemMan::first
private
ppluint32 ppl6::CMemMan::growth
private
void * ppl6::CMemMan::last
private
ppluint32 ppl6::CMemMan::sig
private
ppluint64 ppl6::CMemMan::size
private
ppluint64 ppl6::CMemMan::size_free
private
ppluint64 ppl6::CMemMan::size_used
private
ppluint32 ppl6::CMemMan::sizeof_memman
private
ppluint32 ppl6::CMemMan::sizeof_memslot
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: