MaxHeapOperators Class Reference
 
 
 
MaxHeapOperators Class Reference

This reference page is linked to from the following overview topics: Overview: Class Hierarchy, Memory Management.


#include <MaxHeap.h>

Inheritance diagram for MaxHeapOperators:
AColor ActionContext AdjEdgeList AdjFace AdjFaceList AffineParts AlertData AngAxis Animatable::EnumAnimList AnimateSuspend AnimEnum AnimProperty AnyKey AppDataChunk AppLoad AppSave ArcballCallback ArcballDialog AreaShadowSampler Array< DelayedOp > Array< FLT_FilterHandler > Array< GUPHandler > AssetEnumCallback ATSClientInfo ATSExploreProviderParams ATSFileEntry ATSFileList ATSNotification ATSNotifyParams ATSUserEntry ATSUserList AttachMatDlgUser AvailableFont AxisChangeCallback BasisFinder BezFont BezFontDll BezFontEnumProc BezFontInfo BezFontManager BezFontMetrics BezFontMgrEnumProc BezierShapeTopology BigMatrix bindShape BitArray BitArray::NumberSetProxy BitArrayCallback BitmapDither BitmapFileInputDialog BitmapFileOutputDialog BitmapFilter BitmapInfo BitmapNotify BitmapProxyTemporaryDisableGuard BMM_Color_24 BMM_Color_32 BMM_Color_48 BMM_Color_64 BMM_Color_fl BMM_IOHandler BMM_Pyramid BMM_SAT BMMBitmapList BMMFilterList BMMGammaSettings bmmHistoryList BMMImageInfo BMMStorageList BMMVfbPalette Box2 Box2D Box3 CacheClass CameraState Candidate CapFace CapPatch CapVert CAssertCB ChangeForegroundCallback CIRCLE CJobText Class_ID ClassDesc ClassDescReplaced ClassEntry ClientInfo CollisionVNormal Color Color24 Color48 Color64 ColorPacker CombustionJob CommandMode CommandModeChangedCallback ConfigurationBlock ConstraintInOut CreateInstanceCallParam CreateMouseCallBack CreateRendImgSeqCallback CropCallback CStr CtrlHitLog CtrlHitRecord CUIFrameMsgHandler CUIPosData CurvePoint CustomParticleDisplay D3D10SceneLight DefaultActionSys DefaultLight Deformer DelayedMatrix3::DelayedOp DependentEnumProc DeviceRect DialogItemSizeData DialogResizer DispInfo DllData DllDesc DOFParams DPoint3 DropType DX8VSConstant DX9VSConstant DxGeneralFunctions DynamicMenu DynamicMenuCallback Edge EdgeBondage EdgeClusterList EditSSCB EffectDescriptor EffectsInfo EventRouter EventUser ExitMAXCallback ExpInterface Expr ExprVar ExtrudeData Face FaceChange FaceClusterList FaceCreate FaceDataFromPatch FaceElementList FaceEx FaceRemap FaceSmooth FBox2 FilterList FilterManager FlagUser FlectForces FLT_FilterHandler FLTInterface FontMgrInterface FPActionDef FPEnum FPEnum::enum_code FPFunctionDef FPMacroEmitter FPParamDef FPParamOptions FPParams FPPropDef FPValue FrameRange GamConvert16 GamConvert8 GammaMgr GBufData GenEdge GenericCallback GenericHierarchy GenericNamedSelSetList GenFace GenSoftSelData GenTri GenTriPoints GeoTableItem GetBoundBoxRequestData GetParamDim GetParamName GetParticleDataRequest GetSubObjectRequestData GetTimeDataRequest HWIndex16Bit HWIndex32Bit HWIndexBuffer HWTupleMesh HWVertex HWVertexBuffer IHWDrawMesh IHWSubMesh MeshVertex GlobalReferenceMaker GlobalReferenceMaker::GlobalReferenceDisableGuard GMatrix GPort GripChangedCallback Groupdata GUPManager GWFace GWinSetup HierarchyEntry HitByNameDlgCallback HitData HitListWrapper HitLog HitMesh HitRecord HitRegion HitTestRequestData HoldSuspend HookPoint HSERVER HSVCallback I3DXIXRefManager IActionItemOverride IAdjustMultipleTangents IAssignVertexColors::Options IATSClientAccess IATSNotifyCallback IATSProvider IBaseGrip::ComboLabel IBaseGrip::GripValue IBipedCopy IBipedExport IBipFootStep IBipMaster IBrushPreset IBrushPresetContext IBrushPresetParams ICatRegistry IChkMtlAPI IColorSwatchDestructorPolicy IContainerUpdateReplacedNode ICopyCollection ICUIFrameDestructorPolicy ICustButtonDestructorPolicy ICustEditDestructorPolicy ICustImageDestructorPolicy ICustomRenderPresets ICustSeparatorDestructorPolicy ICustStatusDestructorPolicy ICustStatusEditDestructorPolicy ICustToolbarDestructorPolicy IDADWindowDestructorPolicy IDaylightControlledLightSystem::DaylightSimulationParams IDelegate IDialogMonitorNotification IDxSceneManager IDxSceneTransformManager IEffectManager IEffectParser IEulerControl IExportEntity IFaceDataChannelsEnumCallBack IGameBezierKey IGameControl IGameConversionManager IGameErrorCallBack IGameFX IGameFXFunction IGameFXPass IGameFXProperty IGameFXTechnique IGameKey IGameKnot IGameLinearKey IGameNode IGameProperty IGameRenderedSurface IGameSampleKey IGameScene IGameSpline3D IGameTCBKey IGeometryChecker::OutputVal IGizmoBuffer IGizmoClass2 IGizmoClass3 IGraphNode IGraphObjectManager IGraphRef IGuest IHost IIKChainControl IIKControl IImageViewer IImageViewer::PostDisplayCallback IImageViewer::PreEventHandlerCallback IIndirectReferenceMaker IKClipObject IKDeriv IKEnumCallback IKey IKeyControl IKeyProperty DofSet IterJoint IterJoint::JointAxes Link LinkChain RootLink ZeroPlaneMap ILightingData ILightManager ILinkTMCtrl ILockedTrack ILockedTrackClient ImageFilter ImageFilterInfo IMCapManager IMenuElement IMenuGlobalContext IMenuLocalContext IMenuSettings IMenuTimer IMeshSelect IMeshSelectData IMeshWrapper IMetaDataManager::ParamDescriptor IMixer IMixSlave IMoFlow ImpInterface ImpNode imrLightTranslation::AreaPrimitive::AreaLight_cylinder imrLightTranslation::AreaPrimitive::AreaLight_disc imrLightTranslation::AreaPrimitive::AreaLight_rectangle imrLightTranslation::AreaPrimitive::AreaLight_sphere imrLightTranslation::VectorStruct imrShaderCreation imrShaderTranslation::AdditionalDependency IMultiMenu IMXclip IMXtrack IMXtrackgroup InitJointData Inst Interface::SuspendSceneRedrawGuard Interface_ID InterfaceNotifyCallback InterfaceServer IntersectionCallback2D IntersectionCallback3D Interval IOffScreenBuf IOperatorInterface IOurBipExport IPainterCanvasInterface_V5 IPainterCanvasInterface_V5_1 IPainterCanvasInterface_V7 IPainterInterface_V5 IPainterRightClickHandler IParamArray IParameterManager IParamMap IPatchOps IPatchSelect IPatchSelectData IPhyContextExport IPhyContextImport IPhysiqueExport IPhysiqueImport IPhyVertexExport IPhyVertexImport IPoint2 IPoint3 IProjectionIntersector IProjectionRenderHandler IProjectionRenderHandler::ProjectionResult IPropertyContainer IRefTargMonitor IRenderElementCompatible IRenderMesh IRenderMeshCache IRenderPresetsManager IRenderSSEControl IReshading IRollupWindowDestructorPolicy IRTShaderManager IRTShaderNode IScene ISect ISectList ISetKey IShadowLightData ISkin ISkin2 ISkinContextData ISkinImportData ISliderControlDestructorPolicy ISoftSelect ISpinnerControlDestructorPolicy ISplineOps ISplineSelect ISplineSelectData IStdDualVSCallback ISubMap ISubMtlAPI ISubTargetCtrl ISystemXRef ITabbedDialog ITabPageProc ITargetedIO ItemID ITestInterface ITextObject ITreeEnumProc IUnReplaceableControl IUtil IValidateNodeCallback IValidityToken IVertexPaint::FaceColor IVertexShader IViewportButton IWavePaint IWaveSound Job JOBFRAMES JobList JobRenderElement JobServer JobText JointDlgData KeyReduceStatus LightDispInfo LightRayTraversal LightState LineBuffer LinkedEntryT< T > LinkedListT< T, TE > LoadSaveRetargetData LoadSubAnimInfo LogLUV24Pixel LogLUV32Pixel LogSys MacroButtonData MacroRecorder::MacroRecorderDisable ManagerInfo MapBitArray MapDelta MapSampler MarketDefaults MarketDefaults::Range< T, low, high > Matrix2 Matrix3 Matrix3Indirect Matrix3Stack MAXException MAXFileOpenDialog MAXFileSaveDialog MaxJob MaxJobRenderElements MaxLocaleHandler MaxMixerManager MaxNet MaxNetCallBack MaxNetFile MaxNetworkInterface Array< T > AssetId AtomicRefCounter AutoRestoreWorldMatrix BlendState DefaultLifeTimePolicy< RefObjectType > DepthStencilState DeviceCaps DisplayCallbackContext DrawContext GenerateMeshRenderItemsContext HLSLMaterialHandle::ParameterDesc IDisposable IPrimitiveRenderer IRefObject IRenderItemContainer IRenderStateManager IVirtualDevice LockedRect MaterialRequiredStreamElement MaterialRequiredStreams Matrix44 MaxContext MeshElementDescription RasterizerState RefPtr< RefObjectType, SafeRefObjectType, LifeTimePolicy > SimpleVertexStream StencilOperation TargetBlendState TextureCoordStream TextureHandleUtility UpdateDisplayContext UpdateNodeContext UpdateViewContext HoldBegin ThreadTools Timer BinaryStream Char CharAccumulator CharIterator< ChType > Exception IBailOutBusyProcessManager MaxString MaxStringCast< ChType > Noncopyable Path BaseTextReader BaseTextWriter VertexNormal MaxStringCast< char > MCInputDevice MEdge MenuColors MenuEvent Mergeable MeshAccess MeshCapInfo MeshCapper MeshCapPoly MeshCapVert MeshChamferData MeshData MeshDeltaUserData MeshFaceData MeshMap MeshNamedSelClip MeshNormalFace MeshOpProgress MeshRenderData MeshSubHitRec MetaParticle MixerManager MNChamferData MNChamferData10 MNEdgeClusters MNFaceClusters MNFaceElement MNMapFace MNMapPreserveData MNMeshBorder MNMeshUtilities MNNormalFace MocapManager ModContextEnumProc msgdata MSpin MtlRemap MultFprintParams MultiSelectCallback NameAccum NameChange NamedPolySelSetList NamedSegSelSetList NamedVertSelSetList NameMaker NET_ARCHIVE_HEADER NET_ARCHIVE_LIST NetworkStatus NodeIterator NoteKey NotifyCustomAttribute NotifyInfo NotifyPreEval_FrameInfo NURBSDisplay NURBSFuseCurveCV NURBSFuseSurfaceCV NURBSObject NURBSProceeduralCurve NURBSProceeduralSurface NURBSSet NURBSTextureChannel NURBSTextureChannelSet NURBSTextureSurface NURBSTrimPoint ObjectDataReaderCallback ObjectDefinitionChangeNotificationParam ObjectState ObjectWrapper OpenBezFont OrbazTrueBlock Osnap OsnapMarker ParamAlias ParamBlockDesc2::map_spec ParamDef ParamDimensionBase ParamMap2UserDlgProc ParamMapUserDlgProc ParamUIDesc ParamVersionDesc ParticleChannelMask ParticleData ParticleID ParticleMatData ParticleSys PatchCapInfo PatchCapper PatchCapPoly PatchCapVec PatchCapVert PatchCapWork PatchEdge PatchNamedSelClip PatchSeg PatchSubHitRec PatchTVert PatchVec PatchVert path_properties path_property PB2Value PBBitmap PerData PerformOut CreatedChannelLinker PFActiveActionDataRequest PickClassCallback PickNodeCallback PickObjectProc PixelBufT< T > Point2 Point3 Point4 PolyLine PolyLineProc PolyPt PolyShape POModRecord PostPatchProc PreciseTimeValue PreviewParams PrintManager PropertyEnum PRVertex PtrVector Quantizer Quat RandGenerator RandObjLinker Random Ray RCMData RealPixel RedrawViewsCallback RefEnumProc RefTarget RemapDir RendContext RenderInfo RenderInstance RenderMapsContext RenderPresetsContext RendParamDlg RendParams RendPickProc RendProgressCallback ResourceMakerCallback RightClickMenu RightClickMenuManager RNormal RotationValue RVertex SaveEnumProc SaveSubAnimInfo ScaleValue SceneExport SceneImport SceneInfo Schedule SClassUIInfo Script ScriptItem ServerInfo ServerList SetMorphTargetPacket SetXFormPacket ShadBufRenderer ShadowGenerator ShadowParamDlg ShapeContextCallback ShapeHierarchy ShapeNamedPolySelClip ShapeNamedSegSelClip ShapeNamedVertSelClip ShapePSel ShapeSSel ShapeSubHitRec ShapeVSel Slot SnapInfo Snippet SourceInfo SpaceArrayCallback SphereData Spline3D SplineKnot SplineKnotAssy SplinePoint SplineShapePointTab SplineShapeVertexDelta SpringClass SpringSysClient SSConstraintPoint SSNamedSelSetList SSParticle SSParticleCache Stack< T > Statistics Strip StripData SubObjAxisCallback SubObjHitList SubPatchHitList SubShapeHitList SurfTabEntry SuspendAll SvGraphNodeReference Tab< T > Tab< AnimProperty * > Tab< const MCHAR * > Tab< DWORD > Tab< INode * > Tab< int > Tab< ModContext * > Tab< MtlBaseHandle > Tab< MtlHandle > Tab< MZPExtraction * > Tab< NoteKey * > Tab< ParticleData * > Tab< tooltabentry * > Tab< XMLAnimTreeEntry * > TabDialogPointer TABDLG_NMHDR TabHd< T > TabHd< AnimProperty * > TabHd< const MCHAR * > TabHd< DWORD > TabHd< INode * > TabHd< int > TabHd< ModContext * > TabHd< MtlBaseHandle > TabHd< MtlHandle > TabHd< MZPExtraction * > TabHd< NoteKey * > TabHd< ParticleData * > TabHd< tooltabentry * > TabHd< XMLAnimTreeEntry * > TabHdr TangentBasis TCBGraphParams Template Template3D TempStore TessApprox TexHandle TexHandleMaker TextBufferOutput TimeChangeCallback TimeMap TMComponentsArg ToolItem tooltabentry ToolTipExtender TrackClipObject TrackHitRecord TrackViewPick TranInfo Transformer Transition TriStrip TVFace TVNodeNotify TVPatch UTF8Str UtilityObj UVVertSet UVWMapper ValueHolderMember VDataDelta vector VEdge VertexBuffer VertexNormalsCallback VertexNormalsControl VertexShaderCache VertMove ViewFile ViewWindowMetaData WeekSchedule WireMeshData WithTex WStr XFormModes XTCContainer z_stream_s

Class Description

The base class in Max that controls the memory management for any class that derives from it.

The sole purpose of this class is to provide various overloads of the new and delete operators. By doing this, any class that derives from this class and doesn't implement it's own new and delete operators will see all of its memory operation go through the Max Core. Doing this permits plugins to easily benefit from the same memory allocation optimizations the Max Core has or will receive in the future. It also permits plugins linked with a different CRT than the Max Core to safely pass memory pointers to heap blocks allocated on one side of the plugin dll boundary and deallocated on the other.

If a plugin class has to implement its own new and delete operators but also derive indirectly from MaxHeapOperators, access to the new and delete operators will have to be disambiguated. For an example on how to do this with a "using" declaration, see the class MaxWrapper in maxsdk\include\maxscrpt\maxobj.h.

Static Public Member Functions

static UtilExport void *  operator new (size_t size)
  Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new (size_t size, const std::nothrow_t &e)
  Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
static UtilExport void *  operator new (size_t size, const char *filename, int line)
  New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new (size_t size, int block_type, const char *filename, int line)
  New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
  New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
static UtilExport void *  operator new (size_t size, unsigned long flags)
  New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new (size_t size, const std::nothrow_t &e, unsigned long flags)
  New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
static UtilExport void *  operator new[] (size_t size)
  New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new[] (size_t size, const std::nothrow_t &e)
  New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport void *  operator new[] (size_t size, const char *filename, int line)
  New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new[] (size_t size, int block_type, const char *filename, int line)
  New operator used to allocate arrays of objects.
static UtilExport void *  operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
  New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport void *  operator new[] (size_t size, unsigned long flags)
  New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport void *  operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
  New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport void  operator delete (void *ptr)
  Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete (void *ptr, const std::nothrow_t &e)
  Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
static UtilExport void  operator delete (void *ptr, const char *filename, int line)
  Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete (void *ptr, int block_type, const char *filename, int line)
  Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
  Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
static UtilExport void  operator delete (void *ptr, unsigned long flags)
  Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
  Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
static UtilExport void  operator delete[] (void *ptr)
  Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete[] (void *ptr, const std::nothrow_t &e)
  Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
static UtilExport void  operator delete[] (void *ptr, const char *filename, int line)
  Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete[] (void *ptr, int block_type, const char *filename, int line)
  Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
  Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
static UtilExport void  operator delete[] (void *ptr, unsigned long flags)
  Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport void  operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
  Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport void *  operator new (size_t size, void *placement_ptr)
  Placement new operator.
static UtilExport void  operator delete (void *ptr, void *placement_ptr)
  Placement delete operator.

Member Function Documentation

static UtilExport void* operator new ( size_t  size ) [static]

Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the object to be allocated
static UtilExport void* operator new ( size_t  size,
const std::nothrow_t &  e 
) [static]

Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the object to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
static UtilExport void* operator new ( size_t  size,
const char *  filename,
int  line 
) [static]

New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the object to be allocated
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new ( size_t  size,
int  block_type,
const char *  filename,
int  line 
) [static]

New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the object to be allocated
[in] block_type,: The type of memory to be allocated by the CRT. This is always _NORMAL_BLOCK.
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new ( size_t  size,
const std::nothrow_t &  e,
const char *  filename,
int  line 
) [static]

New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the object to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new ( size_t  size,
unsigned long  flags 
) [static]

New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the object to be allocated
[in] flags,: Flags specifying whether any special operations should be done when allocating memory
static UtilExport void* operator new ( size_t  size,
const std::nothrow_t &  e,
unsigned long  flags 
) [static]

New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the object to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] flags,: Flags specifying whether any special operations should be done when allocating memory
static UtilExport void* operator new[] ( size_t  size ) [static]

New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the array of objects to be allocated
static UtilExport void* operator new[] ( size_t  size,
const std::nothrow_t &  e 
) [static]

New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
static UtilExport void* operator new[] ( size_t  size,
const char *  filename,
int  line 
) [static]

New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new[] ( size_t  size,
int  block_type,
const char *  filename,
int  line 
) [static]

New operator used to allocate arrays of objects.

This takes the size to be allocated, the type of memory, filename and line where new was called. If there is insufficient memory, an exception will be thrown

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] block_type,: The type of memory to be allocated by the CRT. This is always _NORMAL_BLOCK.
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new[] ( size_t  size,
const std::nothrow_t &  e,
const char *  filename,
int  line 
) [static]

New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] filename,: The name of the file that contains the call to new - may be NULL
[in] line,: The line number in the file that contains the call to new
static UtilExport void* operator new[] ( size_t  size,
unsigned long  flags 
) [static]

New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] flags,: Flags specifying whether any special operations should be done when allocating memory
static UtilExport void* operator new[] ( size_t  size,
const std::nothrow_t &  e,
unsigned long  flags 
) [static]

New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.

Parameters:
[in] size,: The size of the array of objects to be allocated
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] flags,: Flags specifying whether any special operations should be done when allocating memory
static UtilExport void operator delete ( void *  ptr ) [static]

Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
static UtilExport void operator delete ( void *  ptr,
const std::nothrow_t &  e 
) [static]

Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
static UtilExport void operator delete ( void *  ptr,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete ( void *  ptr,
int  block_type,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] block_type,: The type of memory to be allocated by the CRT. This is always _NORMAL_BLOCK.
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete ( void *  ptr,
const std::nothrow_t &  e,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete ( void *  ptr,
unsigned long  flags 
) [static]

Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] flags,: Flags specifying whether any special operations should be done when allocating memory.
static UtilExport void operator delete ( void *  ptr,
const std::nothrow_t &  e,
unsigned long  flags 
) [static]

Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] flags,: Flags specifying whether any special operations should be done when allocating memory.
static UtilExport void operator delete[] ( void *  ptr ) [static]

Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the array of objects to be deleted
static UtilExport void operator delete[] ( void *  ptr,
const std::nothrow_t &  e 
) [static]

Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.

Parameters:
[in] ptr,: The void pointer to the array of objects to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
static UtilExport void operator delete[] ( void *  ptr,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete[] ( void *  ptr,
int  block_type,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] block_type,: The type of memory to be allocated by the CRT. This is always _NORMAL_BLOCK.
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete[] ( void *  ptr,
const std::nothrow_t &  e,
const char *  filename,
int  line 
) [static]

Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] filename,: The name of the file that contains the call to delete - may be NULL
[in] line,: The line number in the file that contains the call to delete
static UtilExport void operator delete[] ( void *  ptr,
unsigned long  flags 
) [static]

Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] flags,: Flags specifying whether any special operations should be done when allocating memory.
static UtilExport void operator delete[] ( void *  ptr,
const std::nothrow_t &  e,
unsigned long  flags 
) [static]

Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.

Parameters:
[in] ptr,: The void pointer to the object to be deleted
[in] e,: A std::nothrow_t to specify that no exception should be thrown
[in] flags,: Flags specifying whether any special operations should be done when allocating memory.
static UtilExport void* operator new ( size_t  size,
void *  placement_ptr 
) [static]

Placement new operator.

The placement new operator should only be called with a pointer that already has been allocated in the Max' heap. You can use maxheapdirect.h to allocate yourself memory on the Max' heap.

Parameters:
[in] size,: The amount of memory to allocate
[in] placement_ptr,: The location where the initialization should take place
static UtilExport void operator delete ( void *  ptr,
void *  placement_ptr 
) [static]

Placement delete operator.

Corresponds to the placement new operator. Doesn't affect memory.

Parameters:
[in] ptr,: The location of the memory to release.
[in] placement_ptr,: Location where the destruction should take place. Should be the same as ptr.