Open CASCADE Technology: Standard_MMgrRoot Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
Standard_MMgrRoot Class Referenceabstract

`#include <Standard_MMgrRoot.hxx>`

Inheritance diagram for Standard_MMgrRoot:
[legend]

## Public Member Functions
virtual | ~Standard_MMgrRoot ()
| Virtual destructor; required for correct inheritance. More...
virtual 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) More...
virtual Standard_Address | Reallocate (Standard_Address thePtr, const Standard_Size theSize)=0
| Reallocate previously allocated memory to contain at least theSize bytes. In case of success, new pointer is returned. More...
virtual void | Free (Standard_Address thePtr)=0
| Frees previously allocated memory at specified address. More...
virtual 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. More...

## Detailed Description

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

## Constructor & Destructor Documentation

virtual Standard_MMgrRoot::~Standard_MMgrRoot | ( |  | ) |
| virtual

Virtual destructor; required for correct inheritance.

## Member Function Documentation

virtual Standard_Address Standard_MMgrRoot::Allocate | ( | const Standard_Size | theSize | ) |
| pure virtual

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)

Implemented in Standard_MMgrOpt, Standard_MMgrTBBalloc, and Standard_MMgrRaw.

virtual void Standard_MMgrRoot::Free | ( | Standard_Address | thePtr | ) |
| pure virtual

Frees previously allocated memory at specified address.

Implemented in Standard_MMgrOpt, Standard_MMgrTBBalloc, and Standard_MMgrRaw.

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

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.

Reimplemented in Standard_MMgrOpt.

virtual Standard_Address Standard_MMgrRoot::Reallocate | ( | Standard_Address | thePtr,
|  | const Standard_Size | theSize
| ) |  |
| pure virtual

Reallocate previously allocated memory to contain at least theSize bytes. In case of success, new pointer is returned.

Implemented in Standard_MMgrOpt, Standard_MMgrTBBalloc, and Standard_MMgrRaw.

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

- Standard_MMgrRoot.hxx