|
| HeapAllocator (const char *allocatorName) |
|
void * | allocate (size_t size) |
|
template<typename T > |
T * | allocate (size_t numItems) |
|
template<typename T > |
T * | New () |
|
void | deallocate (void *memory) |
|
void | setObjAddress (void *address) |
|
template<typename T > |
void | Delete (T *memory) |
|
const char * | getName () const override |
|
const char * | getType () const override |
|
size_t | getRequestedUsage () const override |
|
size_t | getRequestedHighWaterMark () const override |
|
void | resetHighWaterMark () override |
|
virtual const AllocationTracker * | getTracker () const |
|
virtual size_t | getAllocatorUsage () const |
|
virtual size_t | getAllocatorHighWaterMark () const |
|
Heap Allocator
This is a very simple, thread-safe Heap allocator which calls through to DD::Image::Memory and tracks how much memory its using. Additionally, if FN_TRACK_MEMORY_ALLOCATIONS is defined (in Memory.h), and the NUKE_TRACK_OBJECT_ALLOCATIONS environment variable is set to 1, allocations using this allocator will be tracked between checkpoints, so that leaks can be identified. See the _nuke_internal.memAllocCheckpoint()/memAllocInfo() Python API calls for details.