The DOMMemoryManager
interface exposes the memory allocation-related functionalities of a DOMDocument
.
More...
#include <DOMMemoryManager.hpp>
Public Types | |
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 } |
Public Member Functions | |
Destructor | |
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. | |
Protected Member Functions | |
Hidden constructors | |
DOMMemoryManager () |
The DOMMemoryManager
interface exposes the memory allocation-related functionalities of a DOMDocument
.
xercesc::DOMMemoryManager::DOMMemoryManager | ( | ) | [inline, protected] |
virtual xercesc::DOMMemoryManager::~DOMMemoryManager | ( | ) | [inline, virtual] |
Destructor.
virtual void* xercesc::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.
amount | the size of the new memory block | |
type | the type of the DOM object that will be stored in the block |
virtual void* xercesc::DOMMemoryManager::allocate | ( | XMLSize_t | amount | ) | [pure virtual] |
Allocate a memory block of the requested size from the managed pool.
amount | the size of the new memory block |
virtual XMLCh* xercesc::DOMMemoryManager::cloneString | ( | const XMLCh * | src | ) | [pure virtual] |
Allocate a memory block from the mnaged pool and copy the provided string.
src | the string to be copied |
virtual XMLSize_t xercesc::DOMMemoryManager::getMemoryAllocationBlockSize | ( | ) | const [pure virtual] |
Returns the size of the chunks of memory allocated by the memory manager.
virtual void xercesc::DOMMemoryManager::release | ( | DOMNode * | object, | |
DOMMemoryManager::NodeObjectType | type | |||
) | [pure virtual] |
Release a DOM object and place its memory back in the pool.
object | the pointer to the DOM node | |
type | the type of the DOM object |
virtual void xercesc::DOMMemoryManager::setMemoryAllocationBlockSize | ( | XMLSize_t | size | ) | [pure virtual] |
Set the size of the chunks of memory allocated by the memory manager.
size | the new size of the chunks; it must be greater than 4KB |