Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Standard_MMgrRoot Class Reference

#include <Standard_MMgrRoot.hxx>

Inheritance diagram for Standard_MMgrRoot:
Inheritance graph
[legend]

Public Member Functions

virtual ~Standard_MMgrRoot ()
 Virtual destructor; required for correct inheritance.
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)
virtual 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 void Free (Standard_Address &aPtr)=0
 Frees previously allocated memory at specified address. The pointer is nullified.
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.
virtual 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


Member Function Documentation

virtual Standard_Address Standard_MMgrRoot::Allocate ( const Standard_Size  theSize) [pure virtual]
virtual void Standard_MMgrRoot::Free ( Standard_Address aPtr) [pure virtual]

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 aPtr,
const Standard_Size  theSize 
) [pure virtual]
virtual void Standard_MMgrRoot::SetReentrant ( Standard_Boolean  isReentrant) [virtual]

Reimplemented in Standard_MMgrOpt.


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