Go to the documentation of this file.
38 #if DILIGENT_CPP_INTERFACE
44 virtual void* Allocate(
size_t Size,
const Char* dbgDescription,
const char* dbgFileName,
const Int32 dbgLineNumber) = 0;
47 virtual void Free(
void* Ptr) = 0;
56 struct IMemoryAllocatorMethods
58 void* (*Allocate) (
struct IMemoryAllocator*,
size_t Size,
const Char* dbgDescription,
const char* dbgFileName,
const Int32 dbgLineNumber);
62 struct IMemoryAllocatorVtbl
64 struct IMemoryAllocatorMethods MemoryAllocator;
69 typedef struct IMemoryAllocator
71 struct IMemoryAllocatorVtbl* pVtbl;
76 # define IMemoryAllocator_Allocate(This, ...) CALL_IFACE_METHOD(MemoryAllocator, Allocate, This, __VA_ARGS__)
77 # define IMemoryAllocator_Free(This, ...) CALL_IFACE_METHOD(MemoryAllocator, Free, This, __VA_ARGS__)
char Char
Definition: BasicTypes.h:64
int32_t Int32
32-bit signed integer
Definition: BasicTypes.h:46
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
Base interface for a raw memory allocator.
Definition: MemoryAllocator.h:41
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37