Open CASCADE Technology  7.1.0.beta
Static Public Member Functions
Standard Class Reference

The package Standard provides global memory allocator and other basic services used by other OCCT components. More...

#include <Standard.hxx>

Static Public Member Functions

static Standard_Address Allocate (const Standard_Size aSize)
 Allocates memory blocks aSize - bytes to allocate. More...
 
static void Free (const Standard_Address thePtr)
 Deallocates memory blocks. More...
 
template<typename T >
static void Free (T *&thePtr)
 Template version of function Free(), nullifies the argument pointer. More...
 
static Standard_Address Reallocate (const Standard_Address aStorage, const Standard_Size aNewSize)
 Reallocates memory blocks aStorage - previously allocated memory block aNewSize - new size in bytes. More...
 
static Standard_Address AllocateAligned (const Standard_Size theSize, const Standard_Size theAlign)
 Allocates aligned memory blocks. Should be used with CPU instructions which require specific alignment. For example: SSE requires 16 bytes, AVX requires 32 bytes. More...
 
static void FreeAligned (const Standard_Address thePtrAligned)
 Deallocates memory blocks. More...
 
template<typename T >
static void FreeAligned (T *&thePtrAligned)
 Template version of function FreeAligned(), nullifies the argument pointer. More...
 
static Standard_Integer Purge ()
 Deallocates the storage retained on the free list and clears the list. Returns non-zero if some memory has been actually freed. More...
 

Detailed Description

The package Standard provides global memory allocator and other basic services used by other OCCT components.

Member Function Documentation

static Standard_Address Standard::Allocate ( const Standard_Size  aSize)
static

Allocates memory blocks aSize - bytes to allocate.

static Standard_Address Standard::AllocateAligned ( const Standard_Size  theSize,
const Standard_Size  theAlign 
)
static

Allocates aligned memory blocks. Should be used with CPU instructions which require specific alignment. For example: SSE requires 16 bytes, AVX requires 32 bytes.

Parameters
theSizebytes to allocate
theAlignalignment in bytes
static void Standard::Free ( const Standard_Address  thePtr)
static

Deallocates memory blocks.

Parameters
thePtr- previously allocated memory block to be freed
template<typename T >
static void Standard::Free ( T *&  thePtr)
inlinestatic

Template version of function Free(), nullifies the argument pointer.

Parameters
thePtr- previously allocated memory block to be freed
static void Standard::FreeAligned ( const Standard_Address  thePtrAligned)
static

Deallocates memory blocks.

Parameters
thePtrAlignedthe memory block previously allocated with AllocateAligned()
template<typename T >
static void Standard::FreeAligned ( T *&  thePtrAligned)
inlinestatic

Template version of function FreeAligned(), nullifies the argument pointer.

Parameters
thePtrAlignedthe memory block previously allocated with AllocateAligned()
static Standard_Integer Standard::Purge ( )
static

Deallocates the storage retained on the free list and clears the list. Returns non-zero if some memory has been actually freed.

static Standard_Address Standard::Reallocate ( const Standard_Address  aStorage,
const Standard_Size  aNewSize 
)
static

Reallocates memory blocks aStorage - previously allocated memory block aNewSize - new size in bytes.


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