# FoundationClasses
TKernel
Standard

# Standard_MMgrRoot Class Reference

`#include <Standard_MMgrRoot.hxx>`

Inheritance diagram for Standard_MMgrRoot:

[legend]

## Public Member Functions

virtual Standard_EXPORT | ~Standard_MMgrRoot ()
| Virtual destructor; required for correct inheritance.
virtual Standard_EXPORT Standard_Address | Allocate (const Standard_Size theSize)=0
| Allocate specified number of bytes. The actually allocated space should be rounded up to double word size (4 bytes), as this is expected by implementation of some classes in OCC (e.g. TCollection_AsciiString).
virtual Standard_EXPORT Standard_Address | Reallocate (Standard_Address &aPtr, const Standard_Size theSize)=0
| Reallocate previously allocated memory to contain at least theSize bytes. In case of success, aPtr should be nullified and new pointer returned.
virtual Standard_EXPORT void | Free (Standard_Address &aPtr)=0
| Frees previously allocated memory at specified address. The pointer is nullified.
virtual Standard_EXPORT Standard_Integer | Purge (Standard_Boolean isDestroyed=Standard_False)

Purge internally cached unused memory blocks (if any) by releasing them to the operating system. Must return non-zero if some memory has been actually released, or zero otherwise. If option isDestroyed is True, this means that memory manager is not expected to be used any more; note however that in general case it is still possible to have calls to that instance of memory manager after this (e.g. to free memory of static objects in OCC). Thus this option should command the memory manager to release any cached memory to the system and not cache any more, but still remain operable... Default implementation does nothing and returns 0.

virtual Standard_EXPORT void | SetReentrant (Standard_Boolean isReentrant)
| Set reentrant mode on or off. Note: This method may be called only when no any other thread can access this object simultaneously. Default implementation does nothing.

## Detailed Description

Root class for Open CASCADE mmemory managers. Defines only abstract interface functions.

## Constructor & Destructor Documentation

virtual Standard_EXPORT Standard_MMgrRoot::~Standard_MMgrRoot | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual Standard_EXPORT Standard_Address Standard_MMgrRoot::Allocate | ( | const Standard_Size | theSize | ) | `[pure virtual]`

| Implemented in Standard_MMgrOpt, and Standard_MMgrRaw.

virtual Standard_EXPORT void Standard_MMgrRoot::Free | ( | Standard_Address & | aPtr | ) | `[pure virtual]`

| Implemented in Standard_MMgrOpt, and Standard_MMgrRaw.

virtual Standard_EXPORT Standard_Integer Standard_MMgrRoot::Purge | ( | Standard_Boolean | isDestroyed = `Standard_False` | ) | `[virtual]`

| Reimplemented in Standard_MMgrOpt.

virtual Standard_EXPORT Standard_Address Standard_MMgrRoot::Reallocate | ( | Standard_Address & | aPtr,
|  | const Standard_Size | theSize
| ) | `[pure virtual]`

| Implemented in Standard_MMgrOpt, and Standard_MMgrRaw.

virtual Standard_EXPORT void Standard_MMgrRoot::SetReentrant | ( | Standard_Boolean | isReentrant | ) | `[virtual]`

| Reimplemented in Standard_MMgrOpt.

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

- Standard_MMgrRoot.hxx