CrystalSpace

Public API Reference

CS::Memory::CustomAllocated Class Reference

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

#include <csutil/customallocated.h>

Inherited by CS::SubRectangles, csArray< T, ElementHandler, MemoryAllocator, CapacityHandler >, csArray< ArchiveEntry * >, csArray< ArchiveEntry *, csPDelArrayElementHandler< ArchiveEntry * > >, csArray< AxisCmd * >, csArray< bool, csArrayElementHandler< bool >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< BtnCmd * >, csArray< CachedCursor >, csArray< CacheTexture >, csArray< const char *, csStringArrayElementHandler >, csArray< csCollisionPair >, csArray< csCommandLineOption *, csPDelArrayElementHandler< csCommandLineOption * > >, csArray< csConfigIterator * >, csArray< csEventOutlet * >, csArray< csGradientShade >, csArray< csPixmap *, csPDelArrayElementHandler< csPixmap * > >, csArray< csPlugin *, csPDelArrayElementHandler< csPlugin * > >, csArray< csPluginLoadRec *, csPDelArrayElementHandler< csPluginLoadRec * > >, csArray< csPluginOption *, csPDelArrayElementHandler< csPluginOption * > >, csArray< csRect >, csArray< csRef< iImage > >, csArray< csRef< iJob >, csArrayElementHandler< csRef< iJob > >, CS::Memory::AllocatorMalloc >, csArray< csReversibleTransform >, csArray< csShaderVariable *, csRefArrayElementHandler< csShaderVariable * >, CS::Memory::AllocatorMalloc >, csArray< csTicks >, csArray< csTreeNode * >, csArray< csTriangle, csArrayElementHandler< csTriangle >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< csVector2, csArrayElementHandler< csVector2 >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< csVector3 >, csArray< csVector3, csArrayElementHandler< csVector3 >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< csVector4, csArrayElementHandler< csVector4 >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< csWeakRef< csTextureHandle >, csArraySafeCopyElementHandler< csWeakRef< csTextureHandle > > >, csArray< csWeakRef< T >, csArraySafeCopyElementHandler< csWeakRef< T > > >, csArray< csWin32RegistryIterator * >, csArray< DirectDetectionDevice >, csArray< ElementArray, csArrayElementHandler< ElementArray >, Allocator >, csArray< ElementArray, csArrayElementHandler< ElementArray >, ArrayMemoryAlloc >, csArray< ElementArray, csArrayElementHandler< ElementArray >, CS::Memory::AllocatorMalloc >, csArray< Entry >, csArray< float, csArrayElementHandler< float >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< FmtParam, csArrayElementHandler< FmtParam >, CS::Memory::AllocatorAlign< sizeof(FmtParam)> >, csArray< FormatSpec >, csArray< FrameData >, csArray< iBase * >, csArray< iConfigFile * >, csArray< iConfigFile *, csRefArrayElementHandler< iConfigFile * >, CS::Memory::AllocatorMalloc >, csArray< iConfigIterator * >, csArray< iEventHandler *, csRefArrayElementHandler< iEventHandler * >, CS::Memory::AllocatorMalloc >, csArray< iImage *, csRefArrayElementHandler< iImage * >, CS::Memory::AllocatorMalloc >, csArray< iMeshObject *, csRefArrayElementHandler< iMeshObject * >, CS::Memory::AllocatorMalloc >, csArray< int >, csArray< iObjectModelListener *, csRefArrayElementHandler< iObjectModelListener * >, CS::Memory::AllocatorMalloc >, csArray< iObjectNameChangeListener *, csRefArrayElementHandler< iObjectNameChangeListener * >, CS::Memory::AllocatorMalloc >, csArray< iParticle *, csRefArrayElementHandler< iParticle * >, CS::Memory::AllocatorMalloc >, csArray< iSndSysStreamCallback *, csRefArrayElementHandler< iSndSysStreamCallback * >, CS::Memory::AllocatorMalloc >, csArray< iSprite2DState *, csRefArrayElementHandler< iSprite2DState * >, CS::Memory::AllocatorMalloc >, csArray< iTextureHandle *, csRefArrayElementHandler< iTextureHandle * >, CS::Memory::AllocatorMalloc >, csArray< KnownFont * >, csArray< LightSvIdCacheEntry >, csArray< Material >, csArray< Mesh >, csArray< meshListEntry >, csArray< Model >, csArray< Node >, csArray< oper >, csArray< oper_arg >, csArray< PlaneGlyphs *, PlaneGlyphElementHandler >, csArray< point >, csArray< renderMeshListInfo *, csPDelArrayElementHandler< renderMeshListInfo * > >, csArray< size_t >, csArray< size_t, csArrayElementHandler< size_t >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< SubRect * >, csArray< T *, csPDelArrayElementHandler< T * > >, csArray< T *, csRefArrayElementHandler< T * >, Allocator >, csArray< T *, csRefArrayElementHandler< T * >, CS::Memory::AllocatorMalloc >, csArray< T, csArraySafeCopyElementHandler< T > >, csArray< T, ElementHandler, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< T, ElementHandler, MemoryAllocator >, csArray< TextJob >, csArray< Thread *, csRefArrayElementHandler< Thread * >, CS::Memory::AllocatorMalloc >, csArray< timerevent >, csArray< uint8 * >, csArray< userbuffer >, csArray< utf32_char, csArrayElementHandler< utf32_char >, CS::Memory::AllocatorMalloc, csArrayCapacityDefault >, csArray< VariableMapEntry >, csBSPTree, csRegExpMatcher, csTriangleMeshEdge, scfImplementation< Class >, 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< csMemFile >, scfImplementation< csMeshFactory >, scfImplementation< csMeshType >, scfImplementation< csMouseDriver >, scfImplementation< csNormalizationCubeAccessor >, scfImplementation< csNullCacheManager >, scfImplementation< csObject >, scfImplementation< csObjectModel >, scfImplementation< csObjectRegistry >, scfImplementation< csParasiticDataBufferBase >, scfImplementation< csPhysicalFile >, scfImplementation< csPluginManager >, scfImplementation< csRenderBuffer >, scfImplementation< csScfStringSet >, scfImplementation< csScriptCommon >, scfImplementation< csScriptObjectCommon >, scfImplementation< csShaderProgram >, scfImplementation< csShaderVariableContext >, scfImplementation< csTextProgressMeter >, scfImplementation< csTextureHandle >, scfImplementation< csTextureManager >, scfImplementation< csTiledCoverageBuffer >, scfImplementation< csTinyDocumentSystem >, scfImplementation< csTriangleMesh >, scfImplementation< csTriangleMeshBox >, scfImplementation< csTriangleMeshPointer >, scfImplementation< csVerbosityManager >, scfImplementation< csVfsCacheManager >, scfImplementation< csView >, scfImplementation< csVirtualClock >, scfImplementation< csWin32RegistryConfig >, scfImplementation< DataBuffer< Allocator > >, scfImplementation< EventHandlerImpl >, scfImplementation< FilterDocumentNodeIterator< T > >, scfImplementation< FinalProcessFrameEventDispatcher >, scfImplementation< FontDeleteNotify >, scfImplementation< FrameBegin3DDraw >, scfImplementation< FramePrinter >, scfImplementation< FrameSignpost_2DConsole >, scfImplementation< FrameSignpost_3D2D >, scfImplementation< FrameSignpost_ConsoleDebug >, scfImplementation< FrameSignpost_DebugFrame >, scfImplementation< FrameSignpost_Logic3D >, scfImplementation< LoaderJob >, scfImplementation< PostProcessFrameEventDispatcher >, scfImplementation< PreProcessFrameEventDispatcher >, scfImplementation< ProcessFrameEventDispatcher >, scfImplementation< RenderBufferPersistent >, scfImplementation< scfArray< IF, Backend > >, scfImplementation< scfArrayWrap< IF, Backend > >, scfImplementation< scfArrayWrapConst< IF, Backend > >, scfImplementation< scfArrayWrapConst< iGradientShades, csArray< csGradientShade > > >, scfImplementation< scfString >, scfImplementation< scfStringArray >, scfImplementation< SimpleJobQueue >, scfImplementation< SndSysBasicData >, scfImplementation< SndSysBasicStream >, scfImplementation< SystemOpenManager >, scfImplementation< ThreadedJobQueue >, and scfImplementationHelper::ScfImplAuxData.

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 1.4.1 by doxygen 1.7.1