View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008503 | Open CASCADE | OCCT:Foundation Classes | public | 2005-03-29 11:41 | 2020-10-13 07:37 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
OS | All | ||||
Summary | 0008503: FIP 8.17 : Hide the objects to deny unauthorized operations with memory manager | ||||
Description | The current Open CASCADE memory manager contains static functions and global variables that are just for internal usage by memory manager itself. These objects are accessible for the end user, provoking to use them. The aim of this work is to provide object-oriented software architecture that will be able to deny unauthorized operations with the memory manager. | ||||
Additional information and documentation updates | Documentation remark, added by PKV 2005-03-29 09:48:51: New features: 1.The following set of static functions is considered as general interface between the user and the memory manager [1]: * Standard_Address Standard::Allocate (const Standard_Integer aSize); * Standard_Address Standard::Reallocate (Standard_Address& anAddr, const Standard_Integer aNewSize); * void Standard::Free (Standard_Address& anAddr); * void Standard::Purge ( ); 2.The abstract class Standard_MMgrRoot contains the following interface of the memory manager object: public: Standard_Address Allocate (const Standard_Integer aSize) =0; Standard_Address Reallocate (Standard_Address& anAddr, const Standard_Integer aNewSize) =0; void Free (Standard_Address& anAddr) =0; void Purge ( )=0; ~ Standard_MMgrRoot ( )=0; // destructor protected: void Initialize ( ) =0; // initializes the fields of the object These methods are pure virtual functions of the abstract class Standard_MMgrRoot. The classes that inherit from Standard_MMgrRoot contain the concrete implementation of the methods above. 3.Implementation: 3.1 Standard_MMgrOpt – the class containing implementation of the current memory manager for the operating parameter MMGT_OPT=1 [1] (so called optimal memory manager); 3.2 Standard_MMgrRaw - the class containing implementation of the current memory manager for the operating parameter MMGT_OPT=0 [1] (so called non-optimal memory manager); Modified entities: The following modifications of the sources of the Open CASCADE have been done: * Methods removed from the class Standard: - void Standard::StorageManagerInit ( ) - Standard_Address Standard::MAllocate (const Standard_Integer ) - void Standard::MFree (Standard_Address& ) - void Standard::Free (Standard_Address& , const Standard_Integer ) - Standard_Address Standard::Reallocate (Standard_Address& , const Standard_Integer , const Standard_Integer ) - Standard_Address Standard::MReallocate (Standard_Address& , const Standard_Integer ) - Standard_Address Standard::RReallocate (Standard_Address& , const Standard_Integer , const Standard_Integer ) - Standard_Integer Standard::AllocatedLength (const Standard_Address ) - Standard_Boolean Standard::ReAllocatedLength (const Standard_Address , const Standard_Integer ) - void Standard::StorageManagerDump (Standard_OStream& ) - Standard_Boolean Standard::Display (Standard_Ostream& , const Standard_CString ) - Standard_Boolean Standard::Display (const Standard_CString ) * Removed classes: StandardCSFDB, Mgt_StorageManager * Removed files: Standard_Allocate.lxx , StandardCSFDB.cxx Mgt_StorageManager.cdl/cxx/lxx * Files modified due to disappearance the methods of the class Standard. CPPExt_TemplateCSFDB.edl AlienImage.cxx AlienImage_BMPAlienData.cxx AlienImage_EuclidAlienData.cxx AlienImage_GIFAlienData.cxx AlienImage_MemoryOperations.cdl AlienImage_MemoryOperations.cxx AlienImage_SGIRGBAlienData.cxx AlienImage_SunRFAlienData.cxx AlienImage_X11XWDAlienData.cxx BooleanOperations_AncestorsAndSuccessors.cxx BooleanOperations_Explorer.cxx BooleanOperations_InterferencesList.cxx BooleanOperations_OnceExplorer.cxx BooleanOperations_ShapesDataStructure.cxx DBC_VArray.gxx DBRep.cxx EDL_Interpretor.cxx FSD_BinaryFile.cxx Graphic3d_Strips.cxx ImageUtility_X11Dump.cxx MMgt.cdl MMgt_TShared.cxx MSAPI MSAPI_MetaSchema.cxx Handle_Standard_Persistent.hxx Handle_Standard_Transient.hxx PMMgt_PManaged.cxx Poly_Connect.cxx Standard_DefineHandle.hxx Standard_Persistent_proto.hxx Storage_BucketOfPersistent.hxx Storage_Schema.cxx TCollection_AVLIterator.gxx TCollection_AVLSearchTree.gxx TCollection_Array1.gxx TCollection_Array2.gxx TCollection_AsciiString.cxx TCollection_BaseSequence.lxx TCollection_BasicMap.cxx TCollection_BasicMap.lxx TCollection_ExtendedString.cxx TCollection_List.gxx TCollection_Queue.gxx TCollection_SList.gxx TCollection_Stack.gxx TNaming_NamedShape.cxx TopExp_Explorer.cxx WOKStep_WNTLink.cxx WOKTools_BasicMap.cxx WOKTools_BasicMap.lxx WOKMake_BuildProcessIterator.cxx math_DoubleTab.gxx math_SingleTab.gxx * Files modified due to OC internal bugs (OCC 8500) OSD_Chronometer.cxx | ||||
Tags | No tags attached. | ||||
Test case number | |||||
2005-03-29 09:41
|
pkv-mmgr.rar (142,730 bytes) |
2005-03-29 09:43
|
MMgr-FIP-2.doc (373,248 bytes) |
|
*** Bug 8500 has been marked as a duplicate of this bug. *** |
2005-08-08 09:33
|
OCC8503.tar.gz (211,659 bytes) |
2005-09-06 07:09
|
Standard_MMgrOpt.cxx (0 bytes) |
2005-09-07 12:54
|
pdn-occ8503-050907.zip (13,774 bytes) |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-03-29 11:42 | bugmaster | Assigned To | bugmaster => pkv |
2005-03-29 11:42 | bugmaster | Status | new => assigned |
2005-03-29 13:09 | bugmaster | Status | assigned => resolved |
2005-03-30 08:30 | bugmaster | BugsThisDependsOn | => 8500 |
2005-04-18 10:25 |
|
CC | => apv, aki |
2005-04-18 15:56 |
|
CC | => abv |
2005-07-08 16:00 | bugmaster | Assigned To | pkv => skl |
2005-07-08 16:00 | bugmaster | Status | resolved => assigned |
2005-07-08 16:00 | bugmaster | Type | => FIP |
2005-08-08 11:24 |
|
Assigned To | skl => pdn |
2005-08-08 11:27 |
|
BugsThisDependsOn | => 2937 |
2005-08-08 11:35 |
|
Status | assigned => resolved |
2005-08-31 16:49 |
|
CC | => skl |
2005-08-31 17:18 | bugmaster | Assigned To | pdn => skl |
2005-08-31 17:18 | bugmaster | Status | resolved => assigned |
2005-09-20 12:33 | bugmaster | Status | assigned => verified |
2005-10-31 17:46 | bugmaster | Status | verified => closed |
2005-10-31 17:46 | bugmaster | Resolution | @0@ => fixed |
2011-08-02 11:23 | bugmaster | Category | OCCT:FDC => OCCT:Foundation Classes |
2012-01-16 13:44 |
|
Fixed in Version | EMPTY => |
2012-01-16 13:44 |
|
Description Updated | |
2012-01-16 13:44 |
|
Additional Information Updated | |
2020-10-13 07:37 | kgv | Relationship added | parent of 0031844 |