MeVisLab Toolbox Reference
ml::Memory Class Reference

Basic memory management class for the ML. More...

#include <mlMemory.h>

Classes

struct  Deleter
 A custom delete which can be used in std::unique_ptr and std::shared_ptr. More...
 

Static Public Member Functions

static voidallocateMemory (MLuint numBytes, MLMemoryErrorHandling handleFailure)
 Allocates a memory block of numByts.
 
static voidreallocateMemory (void *ptr, MLuint numBytes, MLMemoryErrorHandling handleFailure)
 The memory block pointed to by ptr is resized and copied so that it has at least numBytes.
 
static void freeMemory (void *ptr)
 Free function to be use instead of free if code is written which uses/bases on the ML.
 
static voidduplicateMemory (const void *ptr, MLuint numBytes, MLMemoryErrorHandling handleFailure)
 Copies the memory pointed to by ptr of size numBytes in a newly allocated buffer which must be freed by the caller with freeMemory().
 
static charduplicateString (const char *str, MLMemoryErrorHandling handleFailure)
 Copies the passed null terminated string str in a newly allocated buffer which must be freed by the caller with freeMemory().
 

Detailed Description

Basic memory management class for the ML.

See mlDataTypes.h for enum MLMemoryErrorHandling.

Definition at line 29 of file mlMemory.h.

Member Function Documentation

◆ allocateMemory()

static void * ml::Memory::allocateMemory ( MLuint numBytes,
MLMemoryErrorHandling handleFailure )
static

Allocates a memory block of numByts.

Should be used instead of normal malloc if code is written which uses/bases on the ML. For handleFailure see MLMemoryErrorHandling.

◆ duplicateMemory()

static void * ml::Memory::duplicateMemory ( const void * ptr,
MLuint numBytes,
MLMemoryErrorHandling handleFailure )
static

Copies the memory pointed to by ptr of size numBytes in a newly allocated buffer which must be freed by the caller with freeMemory().

For handleFailure see MLMemoryErrorHandling. If ptr is passed as NULL, NULL is returned without any error handling.

◆ duplicateString()

static char * ml::Memory::duplicateString ( const char * str,
MLMemoryErrorHandling handleFailure )
static

Copies the passed null terminated string str in a newly allocated buffer which must be freed by the caller with freeMemory().

For handleFailure see MLMemoryErrorHandling.

◆ freeMemory()

static void ml::Memory::freeMemory ( void * ptr)
static

Free function to be use instead of free if code is written which uses/bases on the ML.

NULL pointers may be passed savely; they are simply ignored.

◆ reallocateMemory()

static void * ml::Memory::reallocateMemory ( void * ptr,
MLuint numBytes,
MLMemoryErrorHandling handleFailure )
static

The memory block pointed to by ptr is resized and copied so that it has at least numBytes.

Should be used instead of normal realloc if code is written which uses/bases on the ML. For handleFailure see MLMemoryErrorHandling.


The documentation for this class was generated from the following file: