file REDMemoryAllocator.h
Header of the RED::MemoryAllocator class. Customizable memory allocator.
Go to the source code of this file.
Namespaces:
namespace | RED |
Classes:
class | MemoryAllocator |
Defines:
#define | rdelete delete |
#define | RED_MLT_CLUSTER 11 |
#define | RED_MLT_DYN_ALLOC_SIZE 24 |
#define | RED_MLT_IMAGE_2D 2 |
#define | RED_MLT_IMAGE_3D 3 |
#define | RED_MLT_IMAGE_COMPOSITE 5 |
#define | RED_MLT_IMAGE_CUBE 4 |
#define | RED_MLT_IMAGE_READBACK 6 |
#define | RED_MLT_LAST_MLT 16 |
#define | RED_MLT_MATERIAL 9 |
#define | RED_MLT_MATERIAL_CONTROLLER_COMPILER 14 |
#define | RED_MLT_OPENGL_DRIVER 12 |
#define | RED_MLT_RAYTRACER 1 |
#define | RED_MLT_SHADER 10 |
#define | RED_MLT_SHAPE_DATA 8 |
#define | RED_MLT_SHAPE_TRANSFORM 7 |
#define | RED_MLT_STL 15 |
#define | RED_MLT_STRING 13 |
#define | RED_MLT_UNKNOWN 0 |
#define | RED_MLT_VEC_SIZE (vector, type)( RED_MLT_DYN_ALLOC_SIZE + (vector).size() * sizeof( type ) ) |
#define | rfree RED::MemoryAllocator::Get().Free |
#define | rmalloc (size)RED::MemoryAllocator::Get().Allocate( size, __RED_MLT_CALLER__ ) |
#define | rnew new( __RED_MLT_CALLER__ ) |
#define | rnewc (caller)new( caller ) |
#define | rrealloc (ptr, size)RED::MemoryAllocator::Get().Reallocate( ptr, size, __RED_MLT_CALLER__ ) |
Defines documentation
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.
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.
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.
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.
REDsdk memory allocation source. All RED::String and subclasses memory.
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 rmalloc | ( | size | ) RED::MemoryAllocator::Get().Allocate( size, __RED_MLT_CALLER__ ) |
#define rnewc | ( | caller | ) new( caller ) |
#define rrealloc | ( | ptr, |
size | ||
) | RED::MemoryAllocator::Get().Reallocate( ptr, size, __RED_MLT_CALLER__ ) |