MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028470Open CASCADE[OCCT] OCCT:Foundation Classespublic2017-02-17 11:542018-08-01 20:15
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocating array with new limits
DescriptionNCollection_Array1 by design defines array of fixed size - the size that can be specified only within constructor.

In many contexts, this restriction is redundant and inconvenient - it is desirable to provide interface for resizing array to new limits.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
parent of 0028796closedbugmaster Coding Rules - fix declaration of Move constructor in NCollection_Array1 
related to 0029230assignedkgv Foundation Classes - provide move constructors for basic collections 

-  Notes
(0063873)
git (administrator)
2017-02-17 12:36

Branch CR28470 has been created by kgv.

SHA-1: 364c71f0a88078b936a0c76a42832024f6bd1135


Detailed log of new commits:

Author: kgv
Date: Fri Feb 17 12:35:13 2017 +0300

    0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocating array with new limits
    
    NCollection_Array1 now provides method Resize() for re-allocating array to new bounds.
    Added Move Constructor and Move Assignment operator.
(0063874)
kgv (developer)
2017-02-17 12:36

Patch is ready for review.
(0063875)
git (administrator)
2017-02-17 12:43

Branch CR28470 has been updated forcibly by kgv.

SHA-1: bd1b9ede148bba8fa384000b292437ff84f60d6f
(0063883)
git (administrator)
2017-02-17 13:48

Branch CR28470 has been updated forcibly by kgv.

SHA-1: 885933e0a5e9505f3203b1716a73ea3913b22584
(0063989)
abv (manager)
2017-02-24 22:41

Reviewed, please test

I have only one doubt: it may be not always necessary to spent efort for copying old data in Resize(), should not we add parameter to make this step conditional?
(0064002)
git (administrator)
2017-02-27 13:02

Branch CR28470 has been updated by kgv.

SHA-1: 2649b14edf9835dc77652c370cc082441ec54a1e


Detailed log of new commits:

Author: kgv
Date: Mon Feb 27 13:02:00 2017 +0300

    NCollection_Array1::Resize() - added argument theToCopyData.
    Added empty constructor for NCollection_Array1.

(0064003)
git (administrator)
2017-02-27 13:04

Branch CR28470_1 has been created by kgv.

SHA-1: caaa078fe6bd8da6ab0ead7fede36c838d4d8d88


Detailed log of new commits:

Author: kgv
Date: Fri Feb 17 12:35:13 2017 +0300

    0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocating array with new limits
    
    NCollection_Array1 now provides method Resize() for re-allocating array to new bounds.
    Added Move Constructor and Move Assignment operator.
    Added empty constructor defining array of zero size.
    
    Poly_Triangulation, dropped duplicating fields myNbNodes and myNbTriangles.
    Removed unused file Poly_Triangulation.lxx.
(0064004)
kgv (developer)
2017-02-27 13:05

Remark has been applied.
(0064062)
apv (tester)
2017-03-01 17:37

Dear BugMaster,

Branch CR28470_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: caaa078fe6bd8da6ab0ead7fede36c838d4d8d88

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 66
   Windows: 0
   MacOS: 1199

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 92575991 / 93218501 [-0.69%]
Total CPU difference: 19896.710000000112 / 19801.68000000022 [+0.48%]

Testing on Windows:
Total MEMORY difference: 57828100 / 57829936 [-0.00%]
Total CPU difference: 18679.637740498587 / 18793.846072598604 [-0.61%]
(0064109)
git (administrator)
2017-03-03 16:29

Branch CR28470_1 has been updated forcibly by inv.

SHA-1: 37ccaa2392432bfb0eeb23320ea0b855d025a5d8
(0064181)
apv (tester)
2017-03-07 16:56

Dear BugMaster,

Branch CR28470_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 37ccaa2392432bfb0eeb23320ea0b855d025a5d8

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1209

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 92886270 / 92373786 [+0.55%]
Total CPU difference: 20037.9700000003 / 19841.150000000398 [+0.99%]

Testing on Windows:
Total MEMORY difference: 57664094 / 57663643 [+0.00%]
Total CPU difference: 18485.697297298568 / 18635.5206576986 [-0.80%]
(0064456)
git (administrator)
2017-03-20 14:33

Branch CR28470_1 has been deleted by inv.

SHA-1: 37ccaa2392432bfb0eeb23320ea0b855d025a5d8
(0064471)
git (administrator)
2017-03-20 14:34

Branch CR28470 has been deleted by inv.

SHA-1: 2649b14edf9835dc77652c370cc082441ec54a1e

- Related Changesets
occt: master 4954e497
Timestamp: 2017-02-17 09:35:13
Author: kgv
Committer: bugmaster
Details ] Diff ]
0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocating array with new limits

NCollection_Array1 now provides method Resize() for re-allocating array to new bounds.
Added Move Constructor and Move Assignment operator.
Added empty constructor defining array of zero size.

Poly_Triangulation, dropped duplicating fields myNbNodes and myNbTriangles.
Removed unused file Poly_Triangulation.lxx.

Use std::move within NCollection_Array1::operator=() [fix for 0028470]
mod - src/NCollection/NCollection_Array1.hxx Diff ] File ]
mod - src/Poly/FILES Diff ] File ]
mod - src/Poly/Poly_Triangulation.cxx Diff ] File ]
mod - src/Poly/Poly_Triangulation.hxx Diff ] File ]
rm - src/Poly/Poly_Triangulation.lxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2017-02-17 11:54 kgv New Issue
2017-02-17 11:54 kgv Assigned To => abv
2017-02-17 12:36 git Note Added: 0063873
2017-02-17 12:36 kgv Note Added: 0063874
2017-02-17 12:36 kgv Status new => resolved
2017-02-17 12:43 git Note Added: 0063875
2017-02-17 13:48 git Note Added: 0063883
2017-02-24 22:41 abv Note Added: 0063989
2017-02-24 22:41 abv Assigned To abv => bugmaster
2017-02-24 22:41 abv Status resolved => reviewed
2017-02-27 13:02 git Note Added: 0064002
2017-02-27 13:04 git Note Added: 0064003
2017-02-27 13:05 kgv Note Added: 0064004
2017-02-28 18:22 apv Assigned To bugmaster => apv
2017-03-01 17:35 apv Test case number => Not needed
2017-03-01 17:37 apv Note Added: 0064062
2017-03-01 17:37 apv Assigned To apv => bugmaster
2017-03-01 17:37 apv Status reviewed => tested
2017-03-03 16:23 bugmaster Assigned To bugmaster => apv
2017-03-03 16:23 bugmaster Status tested => assigned
2017-03-03 16:23 bugmaster Assigned To apv => abv
2017-03-03 16:23 bugmaster Status assigned => resolved
2017-03-03 16:23 bugmaster Assigned To abv => bugmaster
2017-03-03 16:23 bugmaster Status resolved => reviewed
2017-03-03 16:23 bugmaster Assigned To bugmaster => apv
2017-03-03 16:29 git Note Added: 0064109
2017-03-07 16:56 apv Note Added: 0064181
2017-03-07 16:56 apv Assigned To apv => bugmaster
2017-03-07 16:56 apv Status reviewed => tested
2017-03-17 14:28 bugmaster Changeset attached => occt master 4954e497
2017-03-17 14:28 bugmaster Status tested => verified
2017-03-17 14:28 bugmaster Resolution open => fixed
2017-03-20 14:33 git Note Added: 0064456
2017-03-20 14:34 git Note Added: 0064471
2017-05-29 12:52 kgv Relationship added parent of 0028796
2017-09-29 16:18 user533 Fixed in Version => 7.2.0
2017-09-29 16:25 user533 Status verified => closed
2017-10-15 20:48 kgv Relationship added related to 0029230


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker