Open CASCADE Technology  7.3.0
Macros

Standard_DefineAlloc.hxx File Reference

Macros

#define DEFINE_STANDARD_ALLOC_ARRAY
 
#define DEFINE_STANDARD_ALLOC_PLACEMENT
 
#define DEFINE_STANDARD_ALLOC
 
#define WORKAROUND_SUNPRO_NEW_PLACEMENT
 
#define STANDARD_ALIGNED(theAlignment, theType, theVar)   theType theVar
 Declare variable with memory alignment. More...
 

Macro Definition Documentation

◆ DEFINE_STANDARD_ALLOC

#define DEFINE_STANDARD_ALLOC
Value:
void* operator new (size_t theSize) \
{ \
return Standard::Allocate (theSize); \
} \
void operator delete (void* theAddress) \
{ \
Standard::Free (theAddress); \
} \
DEFINE_STANDARD_ALLOC_ARRAY \
DEFINE_STANDARD_ALLOC_PLACEMENT
static Standard_Address Allocate(const Standard_Size aSize)
Allocates memory blocks aSize - bytes to allocate.
static void Free(const Standard_Address thePtr)
Deallocates memory blocks.

◆ DEFINE_STANDARD_ALLOC_ARRAY

#define DEFINE_STANDARD_ALLOC_ARRAY
Value:
void* operator new[] (size_t theSize) \
{ \
return Standard::Allocate (theSize); \
} \
void operator delete[] (void* theAddress) \
{ \
Standard::Free (theAddress); \
}
static Standard_Address Allocate(const Standard_Size aSize)
Allocates memory blocks aSize - bytes to allocate.
static void Free(const Standard_Address thePtr)
Deallocates memory blocks.

◆ DEFINE_STANDARD_ALLOC_PLACEMENT

#define DEFINE_STANDARD_ALLOC_PLACEMENT
Value:
void* operator new (size_t, void* theAddress) \
{ \
return theAddress; \
} \
void operator delete (void*, void*) \
{ \
}

◆ STANDARD_ALIGNED

#define STANDARD_ALIGNED (   theAlignment,
  theType,
  theVar 
)    theType theVar

Declare variable with memory alignment.

static const STANDARD_ALIGNED(8, char, THE_ARRAY)[] = {0xFF, 0xFE, 0xFA, 0xFB, 0xFF, 0x11, 0x22, 0x33};

◆ WORKAROUND_SUNPRO_NEW_PLACEMENT

#define WORKAROUND_SUNPRO_NEW_PLACEMENT