Xerces-C++  3.1.3
Public Member Functions | List of all members
MemoryManager Class Referenceabstract

Configurable memory manager. More...

Public Member Functions

virtual MemoryManagergetExceptionMemoryManager ()=0
 This method is called to obtain the memory manager that should be used to allocate memory used in exceptions. More...
 
Destructor
virtual ~MemoryManager ()
 Default destructor. More...
 
The pure virtual methods in this interface.
virtual void * allocate (XMLSize_t size)=0
 This method allocates requested memory. More...
 
virtual void deallocate (void *p)=0
 This method deallocates memory. More...
 

Protected Member Functions

Constructor
 MemoryManager ()
 Protected default constructor. More...
 

Detailed Description

Configurable memory manager.

This interface allows outside applications to plug in their own memory manager to be used by Xerces for memory allocation/deallocation.

Constructor & Destructor Documentation

virtual MemoryManager::~MemoryManager ( )
virtual

Default destructor.

MemoryManager::MemoryManager ( )
protected

Protected default constructor.

Member Function Documentation

virtual void* MemoryManager::allocate ( XMLSize_t  size)
pure virtual

This method allocates requested memory.

Parameters
sizeThe requested memory size
Returns
A pointer to the allocated memory

Referenced by XMLString::replicate(), and XMLDateTime::setBuffer().

virtual void MemoryManager::deallocate ( void *  p)
pure virtual
virtual MemoryManager* MemoryManager::getExceptionMemoryManager ( )
pure virtual

This method is called to obtain the memory manager that should be used to allocate memory used in exceptions.

If the same memory manager can be used, simply return 'this' from this function. Note, however, that if there is a possibility that an exception thrown can outlive the memory manager (for example, because the memory manager object is allocated on the stack or is managed by a stack-bound object), it is recommended that you return XMLPlatformUtils::fgMemoryManager.

Returns
A pointer to the memory manager

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