Module dlib.core.memory
Tools for manual memory management
New/Delete for classes, structs and arrays. It utilizes dlib.memory for actual memory allocation, so it is possible to switch allocator that is being used. By default, dlib.memory.mallocator.Mallocator is used.
Module includes a simple memory profiler that can be turned on with enableMemoryProfiler function. If active, it will store information about every allocation (type and size), and will mark those which are leaked (haven't been deleted).
Functions
Name | Description |
---|---|
allocatedMemory()
|
Returns current amount of allocated memory in bytes. This is 0 at program start |
enableMemoryProfiler(mode)
|
Enables or disables memory profiler |
globalAllocator()
|
Returns current global Allocator that is used by New and Delete |
globalAllocator(a)
|
Sets global Allocator that is used by New and Delete |
printMemoryLeaks()
|
Prints leaked allocations if memory profiler is enabled, otherwise does nothing |
printMemoryLog()
|
Prints full allocation list if memory profiler is enabled, otherwise does nothing |
Aliases
Name | Type | Description |
---|---|---|
Delete
|
deallocate
|
Destroys an object of type T previously created by New and calls its destructor if necessary. |
New
|
allocate
|
Creates an object of type T and calls its constructor if necessary. |