Xerces-C++: DOMMemoryManager Class Reference (original) (raw)

The [DOMMemoryManager](classDOMMemoryManager.html "The DOMMemoryManager interface exposes the memory allocation-related functionalities of a DOMDocument") interface exposes the memory allocation-related functionalities of a [DOMDocument](classDOMDocument.html "The DOMDocument interface represents the entire XML document.") More...

#include <[xercesc/dom/DOMMemoryManager.hpp](DOMMemoryManager%5F8hpp%5Fsource.html)>

Protected Member Functions
Hidden constructors
Destructor
enum NodeObjectType { ATTR_OBJECT = 0 , ATTR_NS_OBJECT = 1 , CDATA_SECTION_OBJECT = 2 , COMMENT_OBJECT = 3 , DOCUMENT_FRAGMENT_OBJECT = 4 , DOCUMENT_TYPE_OBJECT = 5 , ELEMENT_OBJECT = 6 , ELEMENT_NS_OBJECT = 7 , ENTITY_OBJECT = 8 , ENTITY_REFERENCE_OBJECT = 9 , NOTATION_OBJECT = 10 , PROCESSING_INSTRUCTION_OBJECT = 11 , TEXT_OBJECT = 12 }
virtual ~DOMMemoryManager ()
Destructor.
virtual XMLSize_t getMemoryAllocationBlockSize () const =0
Returns the size of the chunks of memory allocated by the memory manager.
virtual void setMemoryAllocationBlockSize (XMLSize_t size)=0
Set the size of the chunks of memory allocated by the memory manager.
virtual void * allocate (XMLSize_t amount)=0
Allocate a memory block of the requested size from the managed pool.
virtual void * allocate (XMLSize_t amount, DOMMemoryManager::NodeObjectType type)=0
Allocate a memory block of the requested size from the managed pool of DOM objects.
virtual void release (DOMNode *object, DOMMemoryManager::NodeObjectType type)=0
Release a DOM object and place its memory back in the pool.
virtual XMLCh * cloneString (const XMLCh *src)=0
Allocate a memory block from the mnaged pool and copy the provided string.

The [DOMMemoryManager](classDOMMemoryManager.html "The DOMMemoryManager interface exposes the memory allocation-related functionalities of a DOMDocument") interface exposes the memory allocation-related functionalities of a [DOMDocument](classDOMDocument.html "The DOMDocument interface represents the entire XML document.")

NodeObjectType

Enumerator
ATTR_OBJECT
ATTR_NS_OBJECT
CDATA_SECTION_OBJECT
COMMENT_OBJECT
DOCUMENT_FRAGMENT_OBJECT
DOCUMENT_TYPE_OBJECT
ELEMENT_OBJECT
ELEMENT_NS_OBJECT
ENTITY_OBJECT
ENTITY_REFERENCE_OBJECT
NOTATION_OBJECT
PROCESSING_INSTRUCTION_OBJECT
TEXT_OBJECT
DOMMemoryManager::DOMMemoryManager ( ) protected

~DOMMemoryManager()

virtual DOMMemoryManager::~DOMMemoryManager ( ) virtual

Destructor.

allocate() [1/2]

virtual void * DOMMemoryManager::allocate ( XMLSize_t amount) pure virtual

Allocate a memory block of the requested size from the managed pool.

Parameters

amount the size of the new memory block

Returns

the pointer to the newly allocated block

allocate() [2/2]

virtual void * DOMMemoryManager::allocate ( XMLSize_t amount, DOMMemoryManager::NodeObjectType type ) pure virtual

Allocate a memory block of the requested size from the managed pool of DOM objects.

Parameters

amount the size of the new memory block
type the type of the DOM object that will be stored in the block

Returns

the pointer to the newly allocated block

cloneString()

virtual XMLCh * DOMMemoryManager::cloneString ( const XMLCh * src) pure virtual

Allocate a memory block from the mnaged pool and copy the provided string.

Parameters

src the string to be copied

Returns

the pointer to the newly allocated block

getMemoryAllocationBlockSize()

virtual XMLSize_t DOMMemoryManager::getMemoryAllocationBlockSize ( ) const pure virtual

Returns the size of the chunks of memory allocated by the memory manager.

Returns

the dimension of the chunks of memory allocated by the memory manager

release()

virtual void DOMMemoryManager::release ( DOMNode * object, DOMMemoryManager::NodeObjectType type ) pure virtual

Release a DOM object and place its memory back in the pool.

Parameters

object the pointer to the DOM node
type the type of the DOM object

setMemoryAllocationBlockSize()

virtual void DOMMemoryManager::setMemoryAllocationBlockSize ( XMLSize_t size) pure virtual

Set the size of the chunks of memory allocated by the memory manager.

Parameters

size the new size of the chunks; it must be greater than 4KB

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