-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Update FWCore/ParameterSet headers #31429
Conversation
The underlying type is still an std::vector but it gets converted during the call to get(Untracked)Parameter.
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31429/18293
|
A new Pull Request was created by @Dr15Jones (Chris Jones) for master. It involves the following packages: FWCore/Integration @makortel, @smuzaffar, @cmsbuild, @Dr15Jones can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins.
|
+1 The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: |
Comparison job queued. |
// ESInputTag | ||
|
||
template <> | ||
ESInputTag ParameterSet::getParameter<ESInputTag>(char const* name) const; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is beyond this PR, but I want to wonder out loud the usefulness of the (char const* name)
overloads given that under the hood a std::string
gets constructed anyway
cmssw/FWCore/ParameterSet/src/ParameterSet.cc
Line 219 in 53c50cd
Entry const& ParameterSet::retrieve(char const* name) const { return retrieve(std::string(name)); } |
Should we (later) look into replacing both std::string const&
and char const*
overloads with a single std::string_view
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to explore that. I think one reason for both std::string
and char const*
is how templated functions fall within the overload function set. I'm guessing in the past we needed both else automatic conversion was not happening.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It has been a long time and I might not be remembering this correctly, but I believe the reason we added both interfaces was that use of the char const* interface was causing the conversion to string to be inlined in many many places during the build, which was not efficient. I am remembering what other people said. This is not something I tested myself.
Comparison is ready Comparison Summary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
PR validation:
Code compiles.