Anonymous | Login | 2021-01-23 03:57 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] [ Related Changesets ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0026549 | Open CASCADE | [OCCT] OCCT:Foundation Classes | public | 2015-08-11 22:59 | 2016-04-20 15:51 | ||||
Reporter | abv | ||||||||
Assigned To | abv | ||||||||
Priority | normal | Severity | integration request | ||||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | [OCCT] 7.0.0 | Fixed in Version | [OCCT] 7.0.0 | ||||||
Summary | 0026549: Provide move constructors and operators for basic classes | ||||||||
Description | C++11 introduces notion of rvalue references which can be used to avoid unnecessary copying of temporary objects, see http://www.artima.com/cppsource/rvalue.html [^] Rvalue references are supported by VC++ 10 and above, and by GCC 4.3 and above, thus they can be used in modern OCCT (since 0024023). The first candidates for this improvement are Handles and collections. | ||||||||
Tags | No tags attached. | ||||||||
Test case number | |||||||||
Attached Files | |||||||||
![]() |
|||||||||||||
|
![]() |
|
(0044006) git (administrator) 2015-08-12 07:22 |
Branch CR26549 has been created by abv. SHA-1: f04f725c49f684a3b7abd65d21b280b7b7c6e883 Detailed log of new commits: Author: abv Date: Tue Aug 11 23:01:05 2015 +0300 0026549: Provide move constructors and operators for basic classes Move constructor and operator added for opencascade::handle<> |
(0044007) abv (manager) 2015-08-12 07:28 |
First version is pushed to CR26549. It provides move semantics for Handles. Though it does not give noticeable change in performance in tests, it reduces number of calls to Standard_Transient::IncrementRefCounter() methods of Handle, and thus is potentially useful (especially in multithreaded programs, as each call sets a lock). The measured numbers of calls are: | Operation | master | CR26549 | |----------------------------------| | DRAW start | 4075 | 4075 | | pload ALL | 137767 | 128967 | | bottle.tcl | 30749697 | 30440160 | |
(0050080) abv (manager) 2016-01-22 19:32 edited on: 2016-01-23 14:12 |
Other classes for which move semantics would be useful are vector and matrix classes from math package. |
(0050798) kgv (developer) 2016-02-16 11:39 |
Related modification within CR27111_6 has been reviewed without remarks. Should be tested in scope of 0027111. |
(0050990) bugmaster (administrator) 2016-02-19 10:38 |
Tested in framework of branch CR27111_6 |
(0053254) git (administrator) 2016-04-17 15:07 |
Branch CR26549 has been deleted by kgv. SHA-1: f04f725c49f684a3b7abd65d21b280b7b7c6e883 |
![]() |
|||
occt: master 5d351a08
Timestamp: 2015-08-11 20:01:05 Author: abv Committer: abv [ Details ] [ Diff ] |
0026549: Provide move constructors and operators for basic classes Move constructor and operator added for opencascade::handle<> |
||
mod - src/Standard/Standard_Handle.hxx | [ Diff ] [ File ] | ||
![]() |
|||
Date Modified | Username | Field | Change |
2015-08-11 22:59 | abv | New Issue | |
2015-08-11 22:59 | abv | Assigned To | => abv |
2015-08-11 22:59 | abv | Relationship added | related to 0024023 |
2015-08-12 07:22 | git | Note Added: 0044006 | |
2015-08-12 07:28 | abv | Note Added: 0044007 | |
2016-01-22 19:32 | abv | Note Added: 0050080 | |
2016-01-23 14:12 | abv | Note Edited: 0050080 | View Revisions |
2016-02-16 11:39 | kgv | Note Added: 0050798 | |
2016-02-16 11:39 | kgv | Assigned To | abv => bugmaster |
2016-02-16 11:39 | kgv | Status | new => resolved |
2016-02-16 11:39 | kgv | Status | resolved => reviewed |
2016-02-16 11:41 | kgv | Relationship added | related to 0027111 |
2016-02-19 10:34 | bugmaster | Status | reviewed => tested |
2016-02-19 10:38 | bugmaster | Note Added: 0050990 | |
2016-02-21 08:52 | abv | Changeset attached | => occt master 5d351a08 |
2016-02-21 08:52 | abv | Assigned To | bugmaster => abv |
2016-02-21 08:52 | abv | Status | tested => verified |
2016-02-21 08:52 | abv | Resolution | open => fixed |
2016-04-17 15:07 | git | Note Added: 0053254 | |
2016-04-20 15:42 | aiv | Fixed in Version | => 7.0.0 |
2016-04-20 15:51 | aiv | Status | verified => closed |
Copyright © 2000 - 2021 MantisBT Team |