-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Add support for custom deleter to edm::ReusableObjectHolder #28004
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28004/11908
|
A new Pull Request was created by @makortel (Matti Kortelainen) for master. It involves the following packages: FWCore/Utilities @cmsbuild, @smuzaffar, @Dr15Jones can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild, please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
+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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
Comparison is ready Comparison Summary:
|
+1 |
PR description:
This PR adds support for custom deleter to the
edm::ReusableObjectHolder<T>
. The deleter type must be the same on all objects, and is a template parameter to theReusableObjectHolder<T, Deleter>
, defaulting tostd::default_delete<T>
(like instd::unique_ptr
). For non-default deleters the object-making function must returnstd::unique_ptr<T, Deleter>
(for default deleter a raw pointerT*
is still allowed).The deleter is allowed to have state, and the deleter object is passed around (between the returned
std::shared_ptr
and the internaltbb::concurrent_queue
) along with the objectT
. The deleter object must be copyable.PR validation:
Unit tests run, limited matrix runs.