Open CASCADE Technology  7.4.0
Public Member Functions
Standard_MMgrRoot Class Referenceabstract

#include <Standard_MMgrRoot.hxx>

Inheritance diagram for Standard_MMgrRoot:
Inheritance graph
[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

◆ ~Standard_MMgrRoot()

virtual Standard_MMgrRoot::~Standard_MMgrRoot ( )
virtual

Virtual destructor; required for correct inheritance.

Member Function Documentation

◆ Allocate()

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.

◆ Free()

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.

◆ Purge()

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.

◆ Reallocate()

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: