MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028186Community[OCCT] OCCT:Foundation Classespublic2016-12-04 17:222017-09-29 16:31
Reporterguidovanhilst 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2010OS Version64 bit
Product Version[OCCT] 7.0.0 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0028186: Foundation Classes, NCollection_List - methods "Remove" and "Contains" prevent template usage
Descriptionocc7.1

Template class NCollection_List now contains a "Remove" and "Contains" method witch require a "==" operator of the itemType, there a lot of classes that cannot be in a list anymore due to missing == operator

For example NCollection_List<gp_Pnt> (typedefed in QANCollection_ListOfPnt.hxx)

Other classes missing == operator are:

NCollection_List<Message_Msg>
NCollection_List<BOPAlgo_CheckResult>
NCollection_List<BOPTools_CoupleOfShape>
NCollection_List<IntTools_CurveRangeSample>
NCollection_List<IntTools_SurfaceRangeSample>
NCollection_List<IntSurf_PntOn2S>
NCollection_List<HLRAlgo_Interference>
NCollection_List<HLRAlgo_BiPoint>
NCollection_List<BRepOffset_Interval>

and lots of basic types in gp


Steps To Reproduce#include "gp_Pnt.hxx"
#include "NCollection_List.hxx"

typedef NCollection_List<gp_Pnt> MyListOfPoints;
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
related to 0027900closedkgv Open CASCADE Coding rules - drop redundant Name parameter from V3d_Viewer constructor 

-  Notes
(0061054)
guidovanhilst (developer)
2016-12-04 17:31

error C2678: binary '==' : no operator found which takes a left-hand operand of type 'Bnd_Box' (or there is no acceptable conversion)
(0061068)
git (administrator)
2016-12-05 12:58

Branch CR28186 has been created by kgv.

SHA-1: 092c966452cb6256c2371aa7617ca0366b3c08c6


Detailed log of new commits:

Author: kgv
Date: Mon Dec 5 12:57:27 2016 +0300

    0028186: Foundation Classes, NCollection_List - methods "Remove" and "Contains" prevent template usage
    
    ::Remove() and ::Contains() are now defined as template methods
    to allow using NCollection_List with types without quality operator.
(0061076)
kgv (developer)
2016-12-05 13:32

Patch is ready for review.
(0061082)
git (administrator)
2016-12-05 13:58

Branch CR28186 has been updated forcibly by kgv.

SHA-1: 815c07d9bd45be050a197319e49df056df2e5e9e
(0061083)
git (administrator)
2016-12-05 13:59

Branch CR28186 has been updated forcibly by kgv.

SHA-1: efedeca05c176b588c1f5a45992ba8a27b6f0db8
(0061089)
abv (manager)
2016-12-05 15:08

Reviewed, please test
(0061144)
mkv (tester)
2016-12-06 15:26

Dear BugMaster,
Branch CR28186 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms on Release mode.
SHA-1: efedeca05c176b588c1f5a45992ba8a27b6f0db8

There are following compilation errors:
Linux:
http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28186-master/job/CR28186-master-OCCT-Debian70-64-opt-compile/1/parsed_console/ [^]
/dn54/builds/CR28186-master/Debian70-64-opt/OCCT/src/QANCollection/QANCollection_Stl.cxx:53:18: error: explicit instantiation of 'class NCollection_List<Bnd_Box>' in namespace '{anonymous}' (which does not enclose namespace '::') [-fpermissive]
Windows:
http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28186-master/job/CR28186-master-OCCT-Windows-64-VC10-opt-compile/1/parsed_console/ [^]
1>D:/builds/CR28186-master/Windows-64-VC10-opt/OCCT/src/NCollection/NCollection_List.hxx(204): error C4519: default template arguments are only allowed on a class template
MacOS:
http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28186-master/job/CR28186-master-OCCT-MacOS-opt-compile/1/parsed_console/ [^]
/Users/mnt/builds/CR28186-master/MacOS-opt/OCCT/src/QANCollection/QANCollection_Stl.cxx:53:18: error: explicit instantiation of 'NCollection_List' must occur at global scope
(0061145)
mkv (tester)
2016-12-06 15:26

Dear kgv,
Branch CR28186 has been rejected due to:
- compilation errors
(0061148)
git (administrator)
2016-12-06 16:42

Branch CR28186_1 has been created by kgv.

SHA-1: 17748cd23d4a500485f7c3e4bcd788d058f849a5


Detailed log of new commits:

Author: kgv
Date: Mon Dec 5 12:57:27 2016 +0300

    0028186: Foundation Classes, NCollection_List - methods "Remove" and "Contains" prevent template usage
    
    ::Remove() and ::Contains() are now defined as template methods
    to allow using NCollection_List with types without quality operator.
(0061149)
kgv (developer)
2016-12-06 16:43

Please try patch in branch CR28186_1.
(0061471)
mkv (tester)
2016-12-07 14:14

Dear BugMaster,
Branch CR28186_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 17748cd23d4a500485f7c3e4bcd788d058f849a5

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 63 (63 on master)
Windows: 0 (0 on master)
MacOS : 1128

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 91462490 / 91466523 [-0.00%]
Total CPU difference: 22016.93000000024 / 21935.990000000187 [+0.37%]
products component :
Total MEMORY difference: 29849961 / 29803095 [+0.16%]
Total CPU difference: 5309.919999999974 / 5308.749999999961 [+0.02%]

Testing on Windows:
occt component :
Total MEMORY difference: 56939769 / 56948258 [-0.01%]
Total CPU difference: 20551.992942698613 / 20501.8074209986 [+0.24%]
products component :
Total MEMORY difference: 20859724 / 20808844 [+0.24%]
Total CPU difference: 5282.973864999973 / 5254.222880699978 [+0.55%]

There are no differences in images found by testdiff.
(0061472)
mkv (tester)
2016-12-07 14:15

Dear BugMaster,
Branch CR28186_1 is TESTED.
(0061807)
git (administrator)
2016-12-18 10:53

Branch CR28186 has been deleted by kgv.

SHA-1: efedeca05c176b588c1f5a45992ba8a27b6f0db8
(0061808)
git (administrator)
2016-12-18 10:53

Branch CR28186_1 has been deleted by kgv.

SHA-1: 17748cd23d4a500485f7c3e4bcd788d058f849a5

- Related Changesets
occt: master 2a79a1ae
Timestamp: 2016-12-05 09:57:27
Author: kgv
Committer: apn
Details ] Diff ]
0028186: Foundation Classes, NCollection_List - methods "Remove" and "Contains" prevent template usage

::Remove() and ::Contains() are now defined as template methods
to allow using NCollection_List with types without quality operator.
mod - src/NCollection/NCollection_List.hxx Diff ] File ]
mod - src/NCollection/NCollection_StlIterator.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-12-04 17:22 guidovanhilst New Issue
2016-12-04 17:22 guidovanhilst Assigned To => abv
2016-12-04 17:31 guidovanhilst Note Added: 0061054
2016-12-05 08:37 abv Relationship added related to 0027900
2016-12-05 08:37 abv Assigned To abv => kgv
2016-12-05 08:37 abv Status new => assigned
2016-12-05 10:41 abv Target Version => 7.3.0
2016-12-05 12:54 kgv Summary NCollection_List "Remove" and "Contains" methods => Foundation Classes, NCollection_List - methods "Remove" and "Contains" prevent template usage
2016-12-05 12:58 git Note Added: 0061068
2016-12-05 13:32 kgv Note Added: 0061076
2016-12-05 13:32 kgv Assigned To kgv => abv
2016-12-05 13:32 kgv Status assigned => resolved
2016-12-05 13:58 git Note Added: 0061082
2016-12-05 13:59 git Note Added: 0061083
2016-12-05 15:08 abv Note Added: 0061089
2016-12-05 15:08 abv Assigned To abv => bugmaster
2016-12-05 15:08 abv Status resolved => reviewed
2016-12-05 16:16 mkv Assigned To bugmaster => mkv
2016-12-06 15:26 mkv Note Added: 0061144
2016-12-06 15:26 mkv Note Added: 0061145
2016-12-06 15:26 mkv Assigned To mkv => kgv
2016-12-06 15:26 mkv Status reviewed => assigned
2016-12-06 15:27 mkv Test case number => Not needed
2016-12-06 15:27 mkv Target Version 7.3.0 => 7.2.0
2016-12-06 16:42 git Note Added: 0061148
2016-12-06 16:43 kgv Note Added: 0061149
2016-12-06 16:43 kgv Assigned To kgv => bugmaster
2016-12-06 16:43 kgv Status assigned => resolved
2016-12-06 16:43 kgv Status resolved => reviewed
2016-12-06 17:09 mkv Assigned To bugmaster => mkv
2016-12-07 14:14 mkv Note Added: 0061471
2016-12-07 14:15 mkv Note Added: 0061472
2016-12-07 14:15 mkv Assigned To mkv => bugmaster
2016-12-07 14:15 mkv Status reviewed => tested
2016-12-09 16:46 apn Changeset attached => occt master 2a79a1ae
2016-12-09 16:46 apn Assigned To bugmaster => apn
2016-12-09 16:46 apn Status tested => verified
2016-12-09 16:46 apn Resolution open => fixed
2016-12-18 10:53 git Note Added: 0061807
2016-12-18 10:53 git Note Added: 0061808
2017-09-29 16:21 user533 Fixed in Version => 7.2.0
2017-09-29 16:31 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker