View Issue Details

IDProjectCategoryView StatusLast Update
0023919CommunityOCCT:Foundation Classespublic2013-12-19 13:55
ReporterRoman Lygin Assigned ToRoman Lygin  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.6.0 
Target Version6.7.0Fixed in Version6.7.0 
Summary0023919: Redefine operator* to Handle_Standard_{Transient|Persistent} subclasses
DescriptionThe operator* is now to be redefined in subclasses helping to reduce the code as follows:

void Standard_HandleTest::Ref()
{
    Handle(MMgt_TShared) aH = new MMgt_TShared;
#if 1
    MMgt_TShared& aR = *aH;
#else
    MMgt_TShared& aR = *(aH.operator->());
#endif
}

This also makes OCC handle more compliant with NCollection_Handle and std::shared_ptr.
Steps To ReproduceCompile the code snippet given in the description.
TagsNo tags attached.
Test case numberNot needed

Activities

Roman Lygin

2013-04-21 09:16

developer   ~0024229

Fix pushed into git repository

abv

2013-04-22 08:50

manager   ~0024234

No remarks, please test

apn

2013-04-25 12:37

administrator   ~0024271

Dear BugMaster,

Branch CR23919 (and products from GIT master) was compiled on Linux and Windows platforms and tested with rebase.
SHA-1: 17658d518290026f943d87ec4045b3534c7af5c1

Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 11 (11 on master)

products component :
Linux: 0 (0 on master)
Windows: 64 (64 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 366386144 / 366591836
Total CPU difference: 44237.570000001346 / 54395.14000000041

Testing on Windows:
Total MEMORY difference: 418521512 / 418944196
Total CPU difference: 32915.234375 / 33369.984375

There are not serious differences in images found by testdiff.

Related Changesets

occt: master ed6afcbd

2013-04-21 05:15:00

Roman Lygin

Details Diff
0023919: Redefine operator* to Handle_Standard_{Transient|Persistent} subclasses Affected Issues
0023919
mod - src/Standard/Standard_DefineHandle.hxx Diff File

Issue History

Date Modified Username Field Change
2013-04-21 09:12 Roman Lygin New Issue
2013-04-21 09:12 Roman Lygin Assigned To => abv
2013-04-21 09:16 Roman Lygin Note Added: 0024229
2013-04-21 09:16 Roman Lygin Status new => resolved
2013-04-21 09:30 kgv Description Updated
2013-04-22 08:50 abv Note Added: 0024234
2013-04-22 08:50 abv Status resolved => reviewed
2013-04-22 08:51 abv Assigned To abv => bugmaster
2013-04-25 12:37 apn Note Added: 0024271
2013-04-25 12:38 apn Test case number => Not needed
2013-04-25 12:38 apn Status reviewed => tested
2013-04-25 17:29 bugmaster Target Version => 6.7.0
2013-04-30 10:28 Roman Lygin Changeset attached => occt master ed6afcbd
2013-04-30 10:28 Roman Lygin Assigned To bugmaster => Roman Lygin
2013-04-30 10:28 Roman Lygin Status tested => verified
2013-04-30 10:28 Roman Lygin Resolution open => fixed
2013-12-19 13:53 bugmaster Status verified => closed
2013-12-19 13:55 bugmaster Fixed in Version => 6.7.0