Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsnSystemMemoryManager Class Reference

a memory manager that serves as a proxy for the global memory manager More...

#include <PsnSystemMemoryManager.h>

Inheritance diagram for PsnSystemMemoryManager:

Inheritance graph
[legend]
Collaboration diagram for PsnSystemMemoryManager:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual ~PsnSystemMemoryManager ()
 destructor

 PsnSystemMemoryManager ()
 Constructor.

virtual void * allocateSizeRemembered (size_t size)
 Allouer une zone de mémoire de taille size, en se souvenant de la taille associée au pointeur.

virtual void freeSizeRemembered (void *ptr)
 Désallouer une zone de mémoire dont on a stocké la taille.

virtual bool inAdressSpace (void *ptr) const
 find out if a given adress is managed by the current memory manager


Detailed Description

a memory manager that serves as a proxy for the global memory manager

Definition at line 24 of file PsnSystemMemoryManager.h.


Constructor & Destructor Documentation

PsnSystemMemoryManager::~PsnSystemMemoryManager   [virtual]
 

destructor

Definition at line 24 of file PsnSystemMemoryManager.cxx.

00025 {
00026 }

PsnSystemMemoryManager::PsnSystemMemoryManager  
 

Constructor.

Definition at line 29 of file PsnSystemMemoryManager.cxx.

00029                                                :
00030    PsnMemoryManager ()
00031 {
00032 }


Member Function Documentation

void * PsnSystemMemoryManager::allocateSizeRemembered size_t    size [virtual]
 

Allouer une zone de mémoire de taille size, en se souvenant de la taille associée au pointeur.

Pas d'exclusion mutuelle à l'appel

Implements PsnMemoryManager.

Definition at line 37 of file PsnSystemMemoryManager.cxx.

Referenced by PsnMemoryElementDescriptor::operator new().

00038 {
00039 #ifdef _DEBUGMEMORYMANAGEMENT
00040    cerr<<"PsnSystemMemoryManager::freeSizeRemembered: Using the classic malloc"<<endl;
00041 #endif
00042    return malloc ( size ) ;
00043 }

void PsnSystemMemoryManager::freeSizeRemembered void *    ptr [virtual]
 

Désallouer une zone de mémoire dont on a stocké la taille.

Pas d'exclusion mutuelle à l'appel

Implements PsnMemoryManager.

Definition at line 45 of file PsnSystemMemoryManager.cxx.

References PsnMemoryManager::freeSizeRemembered(), and PsnMemoryManager::whichMemoryManager().

00046 {
00047    PsnMemoryManager * correctMemoryManager =  whichMemoryManager( ptr ) ;
00048    if ( correctMemoryManager == this )
00049       {
00050 #ifdef _DEBUGMEMORYMANAGEMENT
00051          cerr<<"PsnSystemMemoryManager::freeSizeRemembered: Using the classic free"<<endl;
00052 #endif
00053          free ( ptr ) ;
00054       }
00055    else
00056       {
00057          correctMemoryManager->freeSizeRemembered( ptr ) ;
00058       }
00059 }

bool PsnSystemMemoryManager::inAdressSpace void *    ptr const [virtual]
 

find out if a given adress is managed by the current memory manager

Implements PsnMemoryManager.

Definition at line 61 of file PsnSystemMemoryManager.cxx.

00062 {
00063    return true ;
00064 }


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

Documentation generated on Mon Nov 25 15:26:31 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001