# DOMMemoryManager Class Reference

The `DOMMemoryManager` interface exposes the memory allocation-related functionalities of a `DOMDocument`. More...

List of all members.

## 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 ()

## Detailed Description

The `DOMMemoryManager` interface exposes the memory allocation-related functionalities of a `DOMDocument`.

## Member Enumeration Documentation

enum DOMMemoryManager::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 |

## Constructor & Destructor Documentation

DOMMemoryManager::DOMMemoryManager | ( |  | ) | `[protected]`

virtual DOMMemoryManager::~DOMMemoryManager | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

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

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

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

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

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

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

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

- DOMMemoryManager.hpp