CSAD
 All Classes Namespaces Functions Variables Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
bt::memManager Class Reference

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
 

Detailed Description

memManager - управляет выделением и освобождением памяти определенного класса объектов объемом size.

Каждый сегмент памяти представляет из себя отдельный элементы из набора равновеликих отрезков памяти одного непрерывного блока. В случае когда сегментированный блок памяти заканчивается выделяется дополнительный. При освобождении памяти сегмент маркируется свободным и используется повторно при запросе свободного сегмента. Не поддерживает многопоточность из соображений производительности, преднозначен для локальной обработки данных.

See Also