Block Class Reference

#include <array.h>

Class Description

An internal helper class, representing a block of memory. Use the Store class instead.

Definition at line 20 of file array.h.

+ Inheritance diagram for Block:

Public Member Functions

const BlockNext (void) const
 
unsigned int ItemSize (void) const
 
const char * Name (void) const
 
long long Size (void) const
 
long long Address (void) const
 
void Check (void) const
 

Static Public Member Functions

static const BlockHead (void)
 
static void LogAll (float fSizeFilter=0.01f, bool bSortByAddress=false)
 
static void CheckAll (void)
 
static bool RegisterMemoryBlock (long long iSize)
 
static bool UnregisterMemoryBlock (long long iSize)
 
static void SetAllocatorID (const char *pAllocatorID)
 
static void CopyMemoryBlock (void *pDestination, const void *pSource, long long iSize)
 
static voidAlignedAlloc (size_t iBytes, unsigned int iAlignment)
 
static void AlignedFree (void *pData)
 

Public Attributes

const char * m_sName
 

Protected Member Functions

 Block (const char *sName, unsigned int iItemSize)
 
 ~Block (void)
 

Protected Attributes

Blockm_pNext
 
Blockm_pPrev
 
unsigned int m_iItemSize
 

Static Protected Attributes

static Blocks_pHead
 

Constructor & Destructor Documentation

Block ( const char *  sName,
unsigned int  iItemSize 
)
inlineprotected

Definition at line 23 of file array.h.

24  {
25  m_sName = sName;
26  m_pNext = s_pHead;
27  m_pPrev = 0;
28  if ( m_pNext ) m_pNext->m_pPrev = this;
29  s_pHead = this;
30  m_iItemSize = iItemSize;
31  };
Block * m_pNext
Definition: array.h:34
Block * m_pPrev
Definition: array.h:34
const char * m_sName
Definition: array.h:60
static Block * s_pHead
Definition: array.h:36
unsigned int m_iItemSize
Definition: array.h:35
~Block ( void  )
protected

Member Function Documentation

static const Block* Head ( void  )
inlinestatic

Definition at line 39 of file array.h.

39 { return s_pHead; };
static Block * s_pHead
Definition: array.h:36
const Block* Next ( void  ) const
inline

Definition at line 40 of file array.h.

40 { return m_pNext; };
Block * m_pNext
Definition: array.h:34
unsigned int ItemSize ( void  ) const
inline

Definition at line 41 of file array.h.

41 { return m_iItemSize; };
unsigned int m_iItemSize
Definition: array.h:35
const char* Name ( void  ) const
long long Size ( void  ) const
long long Address ( void  ) const
static void LogAll ( float  fSizeFilter = 0.01f,
bool  bSortByAddress = false 
)
static
void Check ( void  ) const
static void CheckAll ( void  )
static
static bool RegisterMemoryBlock ( long long  iSize)
static
static bool UnregisterMemoryBlock ( long long  iSize)
static
static void SetAllocatorID ( const char *  pAllocatorID)
static
static void CopyMemoryBlock ( void pDestination,
const void pSource,
long long  iSize 
)
static
static void* AlignedAlloc ( size_t  iBytes,
unsigned int  iAlignment 
)
static
static void AlignedFree ( void pData)
static

Member Data Documentation

Block* m_pNext
protected

Definition at line 34 of file array.h.

Block * m_pPrev
protected

Definition at line 34 of file array.h.

unsigned int m_iItemSize
protected

Definition at line 35 of file array.h.

Block* s_pHead
staticprotected

Definition at line 36 of file array.h.

const char* m_sName

Definition at line 60 of file array.h.


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