Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cHeapAlign Struct Reference

#include <cHeap.h>

Inheritance diagram for Gray::cHeapAlign:
Gray::cHeap

Public Types

typedef cHeap SUPER_t
 
- Public Types inherited from Gray::cHeap
enum  FILL_TYPE {
  FILL_AllocStack = 0xCC , FILL_Alloc = 0xCD , FILL_Freed = 0xDD , FILL_AlignTail = 0xBD ,
  FILL_UnusedStack = 0xFE , FILL_Prefix = 0xFD
}
 

Static Public Member Functions

static bool IsAlignedAlloc (const void *pData, size_t iAligned) noexcept
 
static bool IsValidHeap (const void *pData) noexcept
 
static size_t GetSize (const void *pData) noexcept
 
static bool IsValidInside (const void *pData, INT_PTR index) noexcept
 
static void * AllocPtr (size_t nSize, size_t iAligned)
 
static void FreePtr (void *pData)
 
- Static Public Member Functions inherited from Gray::cHeap
static UINT64 __stdcall get_PhysTotal ()
 
static UINT64 __stdcall get_PhysAvail ()
 
static void __stdcall Init (int nFlags=0)
 
static bool __stdcall Check ()
 
static size_t __stdcall GetSize (const void *pData) noexcept
 
static bool __stdcall IsValidHeap (const void *pData) noexcept
 
static bool IsCorruptHeap (const void *pData) noexcept
 
static bool __stdcall IsValidInside (const void *pData, ptrdiff_t index) noexcept
 
static void *__stdcall AllocPtr (size_t nSize)
 
static void * AllocPtr (size_t nSize, const void *pDataInit)
 
static void __stdcall FreePtr (void *pData)
 
static void *__stdcall ReAllocPtr (void *pData, size_t nSize)
 

Additional Inherited Members

- Static Public Attributes inherited from Gray::cHeap
static const size_t k_ALLOC_MAX = 0x1000000
 256 * 64K = (arbitrary) largest reasonable single malloc. More...
 
static ITERATE_t sm_nAllocs = 0
 count total allocations (i.e. Number of calls to malloc() minus calls to free()) More...
 

Detailed Description

Allocate a block of memory that starts on a certain alignment. will/may have padded prefix. destruct = free memory. Linux might use posix_memalign() http://linux.about.com/library/cmd/blcmdl3_posix_memalign.htm size align must be a power of two and a multiple of sizeof(void *).

Member Typedef Documentation

◆ SUPER_t

Member Function Documentation

◆ AllocPtr()

static void* Gray::cHeapAlign::AllocPtr ( size_t  nSize,
size_t  iAligned 
)
inlinestatic

◆ FreePtr()

static void Gray::cHeapAlign::FreePtr ( void *  pData)
inlinestatic

◆ GetSize()

static size_t Gray::cHeapAlign::GetSize ( const void *  pData)
inlinestaticnoexcept

◆ IsAlignedAlloc()

static bool Gray::cHeapAlign::IsAlignedAlloc ( const void *  pData,
size_t  iAligned 
)
inlinestaticnoexcept

◆ IsValidHeap()

static bool Gray::cHeapAlign::IsValidHeap ( const void *  pData)
inlinestaticnoexcept

◆ IsValidInside()

static bool Gray::cHeapAlign::IsValidInside ( const void *  pData,
INT_PTR  index 
)
inlinestaticnoexcept

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