MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029258Open CASCADE[OCCT] OCCT:Foundation Classespublic2017-10-25 10:522018-06-29 21:19
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.3.0Fixed in Version[OCCT] 7.3.0 
Summary0029258: Foundation Classes - provide move constructors for string classes
DescriptionMove constructors can be used for code optimization, and should be provided for OCCT string collections.
TagsNo tags attached.
Test case numberNot required
Attached Files

- Relationships
child of 0029230assignedkgv Foundation Classes - provide move constructors for basic collections 

-  Notes
(0071769)
git (administrator)
2017-10-25 11:02

Branch CR29258 has been created by kgv.

SHA-1: ff718e461152661dbdb28514ed9de4c551c2fbc2


Detailed log of new commits:

Author: kgv
Date: Sun Oct 15 16:08:01 2017 +0300

    0029258: Foundation Classes - provide move constructors for string classes
    
    OCCT_NO_RVALUE_REFERENCE - added new macros disabling
    move constructors on obsolete compilers.
    
    TCollection_AsciiString, TCollection_ExtendedString,
    NCollection_UtfString - added methods
    Move(), Swap() and move constructor + operator.
(0071773)
kgv (developer)
2017-10-25 11:35

Patch is ready for review.
(0071782)
git (administrator)
2017-10-25 15:41

Branch CR29258_1 has been created by kgv.

SHA-1: 657aab36115fd53cf5ac2eef00e54c85e563a654


Detailed log of new commits:

Author: kgv
Date: Sun Oct 15 16:08:01 2017 +0300

    0029258: Foundation Classes - provide move constructors for string classes
    
    OCCT_NO_RVALUE_REFERENCE - added new macros disabling
    move constructors on obsolete compilers.
    
    TCollection_AsciiString, TCollection_ExtendedString,
    NCollection_UtfString - added method Swap() and move constructor + operator.
(0071783)
git (administrator)
2017-10-25 16:00

Branch CR29258_1 has been updated forcibly by kgv.

SHA-1: f7ebd24fe004a193c1e9209c619d5f78ba446e08
(0071795)
kgv (developer)
2017-10-25 17:56

Patch has been updated - Move() methods have been dropped.
(0071988)
git (administrator)
2017-11-04 23:34

Branch CR29258_2 has been created by abv.

SHA-1: f31c99112dbd122211f4efc346344de4453b5c6a


Detailed log of new commits:

Author: kgv
Date: Sun Oct 15 16:08:01 2017 +0300

    0029258: Foundation Classes - provide move constructors for string classes
    
    New macro OCCT_NO_RVALUE_REFERENCE is introduced to disable methods using move semantics on obsolete compilers that do not support rvalue references.
    
    TCollection_AsciiString, TCollection_ExtendedString, NCollection_UtfString - added method Swap() and move constructor and assignment operator.
    
    Draw command QATestArrayMove is added to test for memory corruption if NCollection_Array1<> bound to local C buffer is returned from function by value.
(0071989)
git (administrator)
2017-11-05 07:30

Branch CR29258_2 has been updated forcibly by abv.

SHA-1: 44d85bd86bb984cc43a53402e05149756fbb0928
(0072000)
abv (manager)
2017-11-06 12:28

Reviewed and tested (see Jenkins job CR29258-CR29258-KGV), please integrate
(0072009)
bugmaster (administrator)
2017-11-07 11:04
edited on: 2017-11-07 18:09

Combination -
OCCT branch : CR29258_2 SHA-1: 44d85bd86bb984cc43a53402e05149756fbb0928
Products branch : CR29258 SHA-1: 03cbce0bf57d90513eec16159bf592340e045289
was compiled on Linux, MacOS and Windows platforms and tested on optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Linux:
OCCT
Total CPU difference: 20863.200000000554 / 20729.730000000465 [+0.64%]
Products
Total CPU difference: 7951.410000000067 / 7934.890000000088 [+0.21%]
Windows:
OCCT
Total CPU difference: 18479.972060598593 / 18506.86663299847 [-0.15%]
Products
Total CPU difference: 7905.787477800001 / 7981.338762099939 [-0.95%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

(0072146)
git (administrator)
2017-11-10 12:15

Branch CR29258 has been deleted by kgv.

SHA-1: ff718e461152661dbdb28514ed9de4c551c2fbc2
(0072147)
git (administrator)
2017-11-10 12:15

Branch CR29258_1 has been deleted by kgv.

SHA-1: f7ebd24fe004a193c1e9209c619d5f78ba446e08
(0072148)
git (administrator)
2017-11-10 12:15

Branch CR29258_2 has been deleted by kgv.

SHA-1: 44d85bd86bb984cc43a53402e05149756fbb0928

- Related Changesets
occt: master 6286195c
Timestamp: 2017-10-15 13:08:01
Author: kgv
Committer: bugmaster
Details ] Diff ]
0029258: Foundation Classes - provide move constructors for string classes

New macro OCCT_NO_RVALUE_REFERENCE is introduced to disable methods using move semantics on obsolete compilers that do not support rvalue references.

TCollection_AsciiString, TCollection_ExtendedString, NCollection_UtfString - added method Swap(), move constructor, and move assignment operator.

Draw command QATestArrayMove is added to test for memory corruption if NCollection_Array1<> bound to local C buffer is returned from function by value.
mod - src/NCollection/NCollection_Array1.hxx Diff ] File ]
mod - src/NCollection/NCollection_UtfString.hxx Diff ] File ]
mod - src/NCollection/NCollection_UtfString.lxx Diff ] File ]
mod - src/QANCollection/QANCollection_Test.cxx Diff ] File ]
mod - src/Standard/Standard_Macro.hxx Diff ] File ]
mod - src/TCollection/TCollection_AsciiString.cxx Diff ] File ]
mod - src/TCollection/TCollection_AsciiString.hxx Diff ] File ]
mod - src/TCollection/TCollection_ExtendedString.cxx Diff ] File ]
mod - src/TCollection/TCollection_ExtendedString.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2017-10-25 10:52 kgv New Issue
2017-10-25 10:52 kgv Assigned To => abv
2017-10-25 10:52 kgv Relationship added child of 0029230
2017-10-25 11:01 kgv Summary 0029230: Foundation Classes - provide move constructors for string classes => Foundation Classes - provide move constructors for string classes
2017-10-25 11:02 git Note Added: 0071769
2017-10-25 11:35 kgv Note Added: 0071773
2017-10-25 11:35 kgv Status new => resolved
2017-10-25 15:41 git Note Added: 0071782
2017-10-25 16:00 git Note Added: 0071783
2017-10-25 17:56 kgv Note Added: 0071795
2017-11-04 23:34 git Note Added: 0071988
2017-11-05 07:30 git Note Added: 0071989
2017-11-06 12:28 abv Note Added: 0072000
2017-11-06 12:28 abv Assigned To abv => bugmaster
2017-11-06 12:28 abv Status resolved => reviewed
2017-11-07 11:03 bugmaster Test case number => Not required
2017-11-07 11:04 bugmaster Note Added: 0072009
2017-11-07 11:04 bugmaster Status reviewed => tested
2017-11-07 18:09 bugmaster Note Edited: 0072009 View Revisions
2017-11-10 10:13 bugmaster Changeset attached => occt master 6286195c
2017-11-10 10:13 bugmaster Status tested => verified
2017-11-10 10:13 bugmaster Resolution open => fixed
2017-11-10 12:15 git Note Added: 0072146
2017-11-10 12:15 git Note Added: 0072147
2017-11-10 12:15 git Note Added: 0072148
2018-02-20 12:58 user533 Target Version 7.4.0* => 7.3.0
2018-06-29 21:15 user533 Fixed in Version => 7.3.0
2018-06-29 21:19 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker