TMemManager Class Reference

TMemManager class. More...

#include <MemManager.h>

List of all members.

Public Member Functions

 TMemManager (void)
 ~TMemManager (void)

Static Public Member Functions

static int GetAllocation ()
 Returns actual number of allocation.
static int GetMem ()
 Returns actual number of allocation without alignment.
static int GetAlign ()
 Returns actual number of allocation with aligment.
static void Reset (void)
 Resets all counters - should be called at begin of program, because static variables may allocate memory and they are deallocated after main is exited.
static void * new_mem (size_t size)
 Allocates memory block with desired size.
static void free_mem (void *ptr)
 Free memory block allocated via TMemManager::new_mem.
static void * new_align (size_t size, size_t align)
 Allocates memory block with desired size on a specified alignment boundary.
static void free_align (void *ptr)
 Free memory allocated via TMemManager::new_align method.


Detailed Description

TMemManager class.

This class performs memory managment. At this time only encapsulates standard functions malloc,free,...

This class is pure static.

Todo:
add true memory manager into this class

implement aligned memory alocation for non-MSVC compilers (minimal for g++)

Definition at line 29 of file MemManager.h.


Constructor & Destructor Documentation

TMemManager::TMemManager void   ) 
 

TMemManager::~TMemManager void   ) 
 


Member Function Documentation

static void TMemManager::free_align void *  ptr  )  [inline, static]
 

Free memory allocated via TMemManager::new_align method.

At this moment memory is aligned only under Visual Studio C++ compiler!!!

Parameters:
ptr pointer to memory to release

Definition at line 155 of file MemManager.h.

Referenced by TArrayPtrs< T, size, step >::Clear(), TArray< T, align, size, step >::Clear(), TAllocInterfaceAlign8::operator delete(), TAllocInterfaceAlign16::operator delete(), TAllocInterfaceAlign8::operator delete[](), TAllocInterfaceAlign16::operator delete[](), TArray< T, align, size, step >::ReserveSize(), TArray< T, align, size, step >::ReSizeAndFill(), TArray< T, align, size, step >::Set(), TArray< T, align, size, step >::~TArray(), and TArrayPtrs< T, size, step >::~TArrayPtrs().

static void TMemManager::free_mem void *  ptr  )  [inline, static]
 

Free memory block allocated via TMemManager::new_mem.

Parameters:
ptr pointer to valid block allocatted with new_mem()

Definition at line 121 of file MemManager.h.

Referenced by TIndexedSet< T, size, step >::Clear(), operator delete(), TAllocInterface::operator delete(), operator delete[](), TAllocInterface::operator delete[](), TIndexedSet< T, size, step >::ReserveSize(), TIndexedSet< T, size, step >::Set(), and TIndexedSet< T, size, step >::~TIndexedSet().

static int TMemManager::GetAlign  )  [inline, static]
 

Returns actual number of allocation with aligment.

Definition at line 78 of file MemManager.h.

Referenced by TGlobalsSystem::Destroy().

static int TMemManager::GetAllocation  )  [inline, static]
 

Returns actual number of allocation.

Definition at line 72 of file MemManager.h.

Referenced by TGlobalsSystem::Destroy().

static int TMemManager::GetMem  )  [inline, static]
 

Returns actual number of allocation without alignment.

Definition at line 75 of file MemManager.h.

Referenced by TGlobalsSystem::Destroy().

static void* TMemManager::new_align size_t  size,
size_t  align
[inline, static]
 

Allocates memory block with desired size on a specified alignment boundary.

At this moment memory is aligned only under Visual Studio C++ compiler!!!

Parameters:
size size of allocated block
align the alignment value, which must be an unsigned integer power of 2
Returns:
pointer to allocated memory or NULL if any error occured

Definition at line 139 of file MemManager.h.

Referenced by TArray< T, align, size, step >::Clear(), TAllocInterfaceAlign8::operator new(), TAllocInterfaceAlign16::operator new(), TAllocInterfaceAlign8::operator new[](), TAllocInterfaceAlign16::operator new[](), TArrayPtrs< T, size, step >::ReserveSize(), TArray< T, align, size, step >::ReserveSize(), TArray< T, align, size, step >::ReSizeAndFill(), TArrayPtrs< T, size, step >::Reverse(), TArray< T, align, size, step >::Reverse(), TArray< T, align, size, step >::Set(), TArray< T, align, size, step >::TArray(), and TArrayPtrs< T, size, step >::TArrayPtrs().

static void* TMemManager::new_mem size_t  size  )  [inline, static]
 

Allocates memory block with desired size.

Parameters:
size size of allocated block
Returns:
pointer to allocated memory or NULL if any error occured

Definition at line 105 of file MemManager.h.

Referenced by TIndexedSet< T, size, step >::Clear(), operator new(), TAllocInterface::operator new(), operator new[](), TAllocInterface::operator new[](), TIndexedSet< T, size, step >::ReserveSize(), TIndexedSet< T, size, step >::Set(), and TIndexedSet< T, size, step >::TIndexedSet().

static void TMemManager::Reset void   )  [inline, static]
 

Resets all counters - should be called at begin of program, because static variables may allocate memory and they are deallocated after main is exited.

Definition at line 84 of file MemManager.h.

References VSDBG_TEXT.


The documentation for this class was generated from the following file:
Generated on Wed Nov 28 22:43:30 2007 for Joy4D by  doxygen 1.4.6-NO