file REDMemoryAllocator.h

Header of the RED::MemoryAllocator class. Customizable memory allocator.

Go to the source code of this file.

Namespaces:

namespaceRED

Classes:

classMemoryAllocator

Defines:

#definerdelete delete
#defineRED_MLT_CLUSTER 11
#defineRED_MLT_DYN_ALLOC_SIZE 24
#defineRED_MLT_IMAGE_2D 2
#defineRED_MLT_IMAGE_3D 3
#defineRED_MLT_IMAGE_COMPOSITE 5
#defineRED_MLT_IMAGE_CUBE 4
#defineRED_MLT_IMAGE_READBACK 6
#defineRED_MLT_LAST_MLT 16
#defineRED_MLT_MATERIAL 9
#defineRED_MLT_MATERIAL_CONTROLLER_COMPILER 14
#defineRED_MLT_OPENGL_DRIVER 12
#defineRED_MLT_RAYTRACER 1
#defineRED_MLT_SHADER 10
#defineRED_MLT_SHAPE_DATA 8
#defineRED_MLT_SHAPE_TRANSFORM 7
#defineRED_MLT_STL 15
#defineRED_MLT_STRING 13
#defineRED_MLT_UNKNOWN 0
#defineRED_MLT_VEC_SIZE (vector, type)( RED_MLT_DYN_ALLOC_SIZE + (vector).size() * sizeof( type ) )
#definerfree RED::MemoryAllocator::Get().Free
#definermalloc (size)RED::MemoryAllocator::Get().Allocate( size, __RED_MLT_CALLER__ )
#definernew new( __RED_MLT_CALLER__ )
#definernewc (caller)new( caller )
#definerrealloc (ptr, size)RED::MemoryAllocator::Get().Reallocate( ptr, size, __RED_MLT_CALLER__ )

Defines documentation

#define rdelete delete
#define RED_MLT_CLUSTER 11

REDsdk memory allocation source. All cluster objects memory. This includes the resource manager, windows, VRLs, viewpoints and all memory related to the management of the data cluster.

Byte size of a dynamic allocation. Operating system specific.

REDsdk memory allocation source. RED::IImage2D object memory.

REDsdk memory allocation source. RED::IImage3D object memory.

REDsdk memory allocation source. RED::IImageComposite object memory.

REDsdk memory allocation source. RED::IImageCube object memory.

REDsdk memory allocation source. RED::IImageReadback object memory.

#define RED_MLT_LAST_MLT 16

REDsdk memory allocation source. Use for Memory leak tracking tools.

REDsdk memory allocation source. RED::IMaterial and all internal material memory management blocks.

REDsdk memory allocation source. Specific to the material controller compiler.

REDsdk memory allocation source. All OpenGL graphic driver memory. Does not include the hardware vendor driver memory.

REDsdk memory allocation source. Ray-tracer memory.

#define RED_MLT_SHADER 10

REDsdk memory allocation source. All RED::Shader related memory (including shader strings) and all internal shader memory management blocks.

REDsdk memory allocation source. All scene graph data objects memory. This includes light sources, meshes, lines and texts.

REDsdk memory allocation source. RED::ITransformShape object memory.

#define RED_MLT_STL 15

REDsdk RED::Vector and RED::Map allocation source. Due to template instantiation by compilers, we can't distinguish two identical vectors (for instance RED::Vector< int >) that were declared in two different objects: at runtime, one instance of class RED::Vector< int > exists. Therefore we can't reparent these memory allocations to their real owners, and assign them a specific category.

#define RED_MLT_STRING 13

REDsdk memory allocation source. All RED::String and subclasses memory.

#define RED_MLT_UNKNOWN 0

REDsdk memory allocation source. Unknown allocation caller.

#define RED_MLT_VEC_SIZE(vector,
type
)( RED_MLT_DYN_ALLOC_SIZE + (vector).size() * sizeof( type ) )

Byte size of the dynamic part of a RED::Vector 'vector' whose data storage uses the type 'type'.

#define rnew new( __RED_MLT_CALLER__ )
#define rnewc(caller) new( caller )