nmpp
Открытые члены | Поля данных
Класс C_MultiHeap

Открытые члены

 C_MultiHeap (int Mode=ALLOCATE_FORWARD)
 
int Error ()
 
void Mode (int mode, void **legend=0)
 
unsigned Rand ()
 Генератор случайных чисел
 
unsigned Rand (unsigned min, unsigned max)
 
C_Heapoperator[] (int idxHeap)
 
int CreateHeap (void *addrHeap, size_t32 size32Heap)
 создает кучу по адресууказанного размера (полный размер со служебными данными)
 
void * Allocate (size_t32 size32Buffer)
 обходит кучи в заднном в AllocateMode порядке и выделяет память заданного размера
 
void * Allocate (size_t32 size32Buffer, int nPriorHeap0, int nPriorHeap1=-1, int nPriorHeap2=-1, int nPriorHeap3=-1, int nPriorHeap4=-1, int nPriorHeap5=-1)
 обходит кучи в заднном порядке и выделяет память заданного размера
 
void * AllocateWith (size_t32 size32Buffer, void *addrInTheSameHeap)
 выделяет массив в той же куче где и указатель
 
int Which (void *addr)
 Возвращает номер кучи к которой принадлежит адрес
 
void Lock (void *addr)
 
int Unlock (void *addr)
 
int LockAll ()
 
int UnlockAll ()
 
int Release (void *addr)
 
void ReleaseAll ()
 Удваляет все назаблокированные указатели из куч
 
void LockHeap (int idxHeap)
 Запрещает операции Allocate и Release с кучей
 
void UnlockHeap (int idxHeap)
 Разрещает операции Allocate и Release с кучей
 
int Check ()
 
- Открытые члены унаследованные от C_Allocator32
void * Allocate ()
 
int Release ()
 

Поля данных

C_Heap pHeap [MAX_NUM_BANKS]
 массив куч
 
unsigned numHeaps
 число проининицализированных куч
 
unsigned numAllocateFails
 число ошибок выделения куч
 
unsigned AllocateMode
 порядок обхода куч при поиске свободного места
 
void ** pAllocateLegend
 история номеров куч использованных в последних 8 Allocate
 
unsigned idxAllocateLegend
 
long long allocateHistory
 
Граф наследования:C_MultiHeap:
C_Allocator32

Объявления и описания членов класса находятся в файле: