New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use std::shared_ptr and std::make_shared (EventSetup in Reco) #13898
Conversation
A new Pull Request was created by @wmtan for CMSSW_8_1_X. It involves the following packages: EventFilter/EcalRawToDigi @cvuosalo, @cerminar, @cmsbuild, @franzoni, @slava77, @mmusich, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
@cmsbuild please test |
The tests are being triggered in jenkins. |
@wmtan are you planning to migrate all other usage of boost to std? |
@VinInn No, I was just migrating those uses that were needed for removing support for boost::shared_ptr in EventSetup. This PR does all of those in Reco except for those in TrackingTools/Gsf*. I did not do those because I saw that your existing PR touches some of the same lines. |
Please merge all these PRs involving shared_ptr asap: they touch almost everything, difficult to develop w/o risking conflicts... |
+1 |
+1 Purely technical change to eliminate The code changes are satisfactory, and Jenkins tests against baseline CMSSW_8_1_X_2016-04-02-1100 show no significant differences, as expected. |
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_1_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar |
+1 |
The only place that the CMS framework still uses boost::shared_ptr is in the interface to the EventSetup system, where std::shared_ptr is also supported. In order to remove this last vestige of boost::shared_ptr,
users of EventSetup need to be converted to std::shared_ptr. This PR does this for Reco packages.
Also, std::make_shared is implemented where it makes sense, because it simplifies the code and saves a memory allocation.
Packages TrackingTools/Gsf* are not done in this PR because there is another PR from Vincenzo Innocente making some of the same changes, and I wish to avoid a confluct with that PR.
This PR is totally technical.