memManager - управляет выделением и освобождением памяти определенного класса объектов объемом size. More...
Inherits bt::memManagerExport.
Public Member Functions | |
| _FORCEINLINE void | free () |
| destroy all memory segments and free list of free | |
| _FORCEINLINE void | freeThis (void *val) |
| delete memory for object | |
| _FORCEINLINE void * | getNew (unsigned int size) |
| create memory for object | |
Public Member Functions inherited from bt::memManagerExport | |
| BT_API void * | _addAlloc () |
| return pointer to new object and create new segment of objects if need. | |
| BT_API void | _appendToFree (_voidint idat) |
| add pointer to list of free | |
| BT_API void | _calcsize (unsigned int size) |
| prepare calculation for object size | |
| BT_API void | _free () |
| destroy all memory segments and free list of free pointers | |
| BT_API void * | _getFree (unsigned int size) |
| return pointer to free object | |
| BT_API void | _markFree (void *val) |
| mark pointer to free ??? | |
| BT_API unsigned int | _segid (unsigned int id) |
| return segment number | |
| BT_API unsigned int | _valid (unsigned int id) |
| return number object in segment | |
memManager - управляет выделением и освобождением памяти определенного класса объектов объемом size.
Каждый сегмент памяти представляет из себя отдельный элементы из набора равновеликих отрезков памяти одного непрерывного блока. В случае когда сегментированный блок памяти заканчивается выделяется дополнительный. При освобождении памяти сегмент маркируется свободным и используется повторно при запросе свободного сегмента. Не поддерживает многопоточность из соображений производительности, преднозначен для локальной обработки данных.
1.8.4