6 #ifndef _INC_cHeapObject_H
7 #define _INC_cHeapObject_H
14 #if defined(_DEBUG) || defined(_DEBUG_FAST)
32 #define CHEAPOBJECT_IMPL const void* get_HeapPtr() const noexcept override { return this; }
70 const void* pBase = get_HeapPtr();
82 const void* pBase = get_HeapPtr();
110 #define DECLARE_HEAP_ALIGNED_ALLOCN(_CLASS,_IALIGN) public: \
111 static void* operator new( size_t nCount) \
112 { return cHeapAlign::AllocPtr( nCount, _IALIGN ); } \
113 static void operator delete(void* pData) \
114 { cHeapAlign::FreePtr(pData); }
116 #define DECLARE_HEAP_ALIGNED_ALLOC(_CLASS) DECLARE_HEAP_ALIGNED_ALLOCN(_CLASS,__alignof( _CLASS ))
#define IGNORE_WARN_INTERFACE(c)
Definition: GrayCore.h:79
#define GRAYCORE_LINK
Definition: GrayCore.h:47
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define CHEAPOBJECT_IMPL
Definition: cHeapObject.h:32
Definition: cHeapObject.h:38
virtual bool isValidCheck() const noexcept
Definition: cHeapObject.h:94
bool IsValidInsidePtr(void const *pTest) const
Definition: cHeapObject.h:73
cHeapObject()
Definition: cHeapObject.h:54
bool IsValidInsideN(INT_PTR index) const
Definition: cHeapObject.h:63
virtual size_t GetHeapStatsThis(OUT ITERATE_t &iAllocCount) const
Definition: cHeapObject.h:85
virtual ~cHeapObject()
Definition: cHeapObject.h:58
bool isValidSignature() const noexcept
Definition: cMem.h:272
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
DECLARE_INTERFACE(IRandomNoise)
int ITERATE_t
like size_t but signed
Definition: Index.h:28
uint16 index
Definition: sample3.cpp:29
Definition: cHeapObject.h:21
virtual const void * get_HeapPtr() const noexcept=0
Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr().
static bool IsValidInside(const void *pData, INT_PTR index) noexcept
Definition: cHeap.h:138
static bool IsValidHeap(const void *pData) noexcept
Definition: cHeap.h:130
static size_t GetSize(const void *pData) noexcept
Definition: cHeap.h:134
static bool IsValidApp(const void *pData) noexcept
Definition: cMem.h:42
static ptrdiff_t Diff(const void *pEnd, const void *pStart) noexcept
Definition: cMem.h:34