CrystalSpace

Public API Reference

CS::Memory::CustomAllocated Class Reference

Class that overrides operator new/operator delete/etc. More...

#include <csutil/customallocated.h>

Inheritance diagram for CS::Memory::CustomAllocated:
CS::RenderManager::PostEffectLayersParser CS::RenderManager::ShadowSettings::Target CS::SubRectangles csArray< T, ElementHandler, MemoryAllocator, CapacityHandler > csArray< ArchiveEntry *, csPDelArrayElementHandler< ArchiveEntry * >, CS::Container::ArrayAllocDefault, csArrayCapacityFixedGrow< 256 > > csArray< const char *, csStringArrayElementHandler, Allocator, CapacityHandler > csArray< const char *, csStringArrayElementHandler, CS::Memory::AllocatorMalloc, csArrayCapacityDefault > csArray< csGradientShade > csArray< csPlugin, csArrayElementHandler< csPlugin >, CS::Container::ArrayAllocDefault, csArrayCapacityFixedGrow< 8 > > csArray< csWeakRef< T >, csArraySafeCopyElementHandler< csWeakRef< T > >, Allocator, CapacityHandler > csArray< csWeakRef< T >, csArraySafeCopyElementHandler< csWeakRef< T > >, CS::Memory::AllocatorMalloc, CS::Container::ArrayCapacityDefault > csArray< ElementArray, csArrayElementHandler< ElementArray >, ArrayMemoryAlloc > csArray< ElementArray, csArrayElementHandler< ElementArray >, CS::Memory::AllocatorMalloc > csArray< T *, csPDelArrayElementHandler< T * >, MemoryAllocator, CapacityHandler > csArray< T *, csRefArrayElementHandler< T * >, Allocator, CapacityHandler > csArray< T, csArraySafeCopyElementHandler< T >, Allocator, CapacityHandler > csArray< utf32_char, csArrayElementHandler< utf32_char >, CS::Container::ArrayAllocDefault, CS::Container::ArrayCapacityDefault > csBSPTree csPtr< T > csRef< T > csRegExpMatcher csTriangleMeshEdge scfImplementation< Class > scfImplementation< AllocatorImplementation< Allocator > > scfImplementation< AnimNodeManagerCommon< ThisType, ManagerInterface, FactoryType > > scfImplementation< ConfigEventNotifier > scfImplementation< ConfigListenerBase > scfImplementation< csBaseRenderStepLoader > scfImplementation< csBaseRenderStepType > scfImplementation< csBaseTextureFactory > scfImplementation< csClipper > scfImplementation< csCommandLineParser > scfImplementation< csCommonImageFileLoader > scfImplementation< csConfigDocument > scfImplementation< csConfigFile > scfImplementation< csConfigManager > scfImplementation< csDocumentAttributeCommon > scfImplementation< csDocumentNodeCommon > scfImplementation< csEmptyDocumentAttributeIterator > scfImplementation< csEmptyDocumentNodeIterator > scfImplementation< csEvent > scfImplementation< csEventAttributeIterator > scfImplementation< csEventCord > scfImplementation< csEventHandlerRegistry > scfImplementation< csEventNameRegistry > scfImplementation< csEventOutlet > scfImplementation< csEventQueue > scfImplementation< csEventTimer > scfImplementation< csGradient > scfImplementation< csGraphics2D > scfImplementation< csImageBase > scfImplementation< csInputBinder > scfImplementation< csJoystickDriver > scfImplementation< csKDTree > scfImplementation< csKeyboardDriver > scfImplementation< csKeyComposer > scfImplementation< csLoaderReturn > scfImplementation< csMemFile > scfImplementation< csMeshFactory > scfImplementation< csMeshType > scfImplementation< csMouseDriver > scfImplementation< csNormalizationCubeAccessor > scfImplementation< csNullCacheManager > scfImplementation< csObject > scfImplementation< csObjectModel > scfImplementation< csObjectRegistry > scfImplementation< csOccluvis > scfImplementation< csOccluvisObjIt > scfImplementation< csParasiticDataBufferBase > scfImplementation< csPhysicalFile > scfImplementation< csPluginManager > scfImplementation< csRenderBuffer > scfImplementation< csScriptCommon > scfImplementation< csScriptObjectCommon > scfImplementation< csShaderProgram > scfImplementation< csShaderVariableContext > scfImplementation< csTextProgressMeter > scfImplementation< csThreadManager > scfImplementation< csThreadReturn > scfImplementation< csTiledCoverageBuffer > scfImplementation< csTinyDocumentSystem > scfImplementation< csTriangleMesh > scfImplementation< csTriangleMeshBox > scfImplementation< csTriangleMeshPointer > scfImplementation< csVerbosityManager > scfImplementation< csVfsCacheManager > scfImplementation< csView > scfImplementation< csVirtualClock > scfImplementation< csVisibilityObjectWrapper > scfImplementation< csWin32RegistryConfig > scfImplementation< DataBuffer< Allocator > > scfImplementation< EventHandlerImpl > scfImplementation< FilterDocumentNodeIterator< T > > scfImplementation< FontDeleteNotify > scfImplementation< FrameBegin3DDraw > scfImplementation< FramePrinter > scfImplementation< FrameSignpost_2DConsole > scfImplementation< FrameSignpost_3D2D > scfImplementation< FrameSignpost_ConsoleDebug > scfImplementation< FrameSignpost_DebugFrame > scfImplementation< FrameSignpost_Logic3D > scfImplementation< KDTree > scfImplementation< LightCallback > scfImplementation< LoaderJob > scfImplementation< MicroArchiveCache > scfImplementation< RenderBufferPersistent > scfImplementation< RenderView > scfImplementation< RootedHierarchicalCache > scfImplementation< scfArray< IF, Backend > > scfImplementation< scfArrayWrap< IF, Backend > > scfImplementation< scfArrayWrapConst< IF, Backend > > scfImplementation< scfArrayWrapConst< iGradientShades, csArray< csGradientShade > > > scfImplementation< scfString > scfImplementation< scfStringArray > scfImplementation< ScfStringSet< IF > > scfImplementation< ShaderProgramPluginGL > scfImplementation< SimpleJobQueue > scfImplementation< SndSysBasicData > scfImplementation< SndSysBasicStream > scfImplementation< SystemOpenManager > scfImplementation< ThreadedJobQueue > scfImplementation< ThreadEvent10< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 > > scfImplementation< ThreadEvent11< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11 > > scfImplementation< ThreadEvent12< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 > > scfImplementation< ThreadEvent13< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 > > scfImplementation< ThreadEvent14< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14 > > scfImplementation< ThreadEvent15< T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15 > > scfImplementation< ThreadEvent1< T, A1 > > scfImplementation< ThreadEvent2< T, A1, A2 > > scfImplementation< ThreadEvent3< T, A1, A2, A3 > > scfImplementation< ThreadEvent4< T, A1, A2, A3, A4 > > scfImplementation< ThreadEvent5< T, A1, A2, A3, A4, A5 > > scfImplementation< ThreadEvent6< T, A1, A2, A3, A4, A5, A6 > > scfImplementation< ThreadEvent7< T, A1, A2, A3, A4, A5, A6, A7 > > scfImplementation< ThreadEvent8< T, A1, A2, A3, A4, A5, A6, A7, A8 > > scfImplementation< ThreadEvent9< T, A1, A2, A3, A4, A5, A6, A7, A8, A9 > > scfImplementation< TMEventHandler > scfImplementation< VfsHierarchicalCache > scfImplementation< ViscullCallback< RenderTree > >

List of all members.


Detailed Description

Class that overrides operator new/operator delete/etc.

with implementations using cs_malloc()/cs_free().

Remarks:
To outfit a class that also derives from another class with custom allocation don't use multiple inheritance, use CustomAllocatedDerived<> instead.

The reason is that the CustomAllocated instance contained in the derived class may take up some memory (in order to have a distinct address in memory), memory which is otherwise unused and wasted. CustomAllocatedDerived<> works around that as it is a base class and can thus be empty; derivation is supported through templating. (For details see http://www.cantrip.org/emptyopt.html .)

Definition at line 46 of file customallocated.h.


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

Generated for Crystal Space 2.0 by doxygen 1.7.6.1