View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0009562 | Open CASCADE | OCCT:Foundation Classes | public | 2005-07-25 11:03 | 2012-01-16 11:55 |
| Reporter | Assigned To | ||||
| Priority | normal | Severity | feature | ||
| Status | closed | Resolution | fixed | ||
| OS | All | ||||
| Summary | 0009562: Class UBTree in NCollection should use BaseAllocator API for memory management | ||||
| Description | It is proposed to modify NCollection_UBTree and NCollection_EBTree classes so that they would be initialized by arbitrary memory allocator. This allocator would be used to store all tree nodes and leaves. The goals of this improvement: - Enable better performance with the use of NCollection_IncAllocator; - Allow to choose the memory management strategy, according to the needs of the application. The default implementation would use OCC memory management (Standard::Allocate) as defined by NCollection_BaseAllocator class. | ||||
| Additional information and documentation updates | Documentation remark, added by AGV 2005-07-25 09:26:35: Improvements: 1. NCollection_UBTree: in constructor the optional parameter "theAllocator" is supplied (defaults to NCollection_BaseAllocator::CommonBaseAllocator()). This Allocator is stored as member of UBTree class and can be queried by method Allocator(). 2. Similarly, method Clear takes one optional parameter "aNewAlloc". This is the new allocator instance that would be used from the moment of destroyning the previous data allocated on the previous allocator. This feature is useful if IncAllocator employed. 3. NCollection_UBTreeFiller allocates its internal Sequence (mySeq) using NCollection_IncAllocator, this also improves the performance. 4. In all three header files the comments are reformatted to Javadoc standard (to be usable by Doxygen). Changes: In both modified tree classes, all methods dealing with memory are called as the methods Allocate and Free of the given Allocator object. The modifications do not require any change of existing calling code, the backward compatibility is maintained. Modified entities: In unit NCollection, classes - UBTree (NCollection_UBTree.hxx) - UBTreeFiller (NCollection_UBTreeFiller.hxx> - EBTree (NCollection_EBTree.hxx) The code was successfully compiled on SUN and VC++ 7.1. The modifications in UBTree and UBTreeFiller were tested on these platforms. | ||||
| Tags | No tags attached. | ||||
| Test case number | |||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2005-07-25 11:09 | bugmaster | Assigned To | bugmaster => agv |
| 2005-07-25 11:09 | bugmaster | Status | new => assigned |
| 2005-07-25 11:57 | bugmaster | Status | assigned => resolved |
| 2005-07-25 11:57 | bugmaster | Status | resolved => tested |
| 2005-08-03 16:52 | bugmaster | Status | tested => closed |
| 2005-08-03 16:52 | bugmaster | Resolution | @0@ => fixed |
| 2011-08-02 11:23 | bugmaster | Category | OCCT:FDC => OCCT:Foundation Classes |
| 2012-01-16 11:55 |
|
Fixed in Version | EMPTY => |
| 2012-01-16 11:55 |
|
Description Updated | |
| 2012-01-16 11:55 |
|
Additional Information Updated |