From 11fda6a3adfec2ce9c8d97167c3134a9361e04a4 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Mon, 29 Jan 2018 19:56:15 +0100 Subject: [PATCH 1/3] ESProducers updated to return unique_ptr. Use std::move to pass pointer ownership from constructed ptr type to return ptr type. --- .../plugins/TSCBLBuilderWithPropagatorESProducer.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc b/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc index f4f38010ff1ab..e55ca92bdc24d 100644 --- a/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc +++ b/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc @@ -27,7 +27,7 @@ class TSCBLBuilderWithPropagatorESProducer : public edm::ESProducer { TSCBLBuilderWithPropagatorESProducer(const edm::ParameterSet&); ~TSCBLBuilderWithPropagatorESProducer() override; - typedef std::shared_ptr ReturnType; + typedef std::unique_ptr ReturnType; ReturnType produce(const TrackingComponentsRecord&); private: @@ -83,10 +83,10 @@ TSCBLBuilderWithPropagatorESProducer::produce(const TrackingComponentsRecord& iR const Propagator * pro = theProp.product(); - TSCBLBuilderWithPropagatorESProducer::ReturnType pTSCBLBuilderWithPropagator(new TSCBLBuilderWithPropagator(*pro)) ; + auto pTSCBLBuilderWithPropagator = std::make_unique(*pro) ; - return pTSCBLBuilderWithPropagator ; + return std::move(pTSCBLBuilderWithPropagator) ; } //define this as a plug-in From 66a84fd51e6e191fa7aea0be000b806d1ee06f83 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Mon, 29 Jan 2018 20:02:19 +0100 Subject: [PATCH 2/3] missed one --- .../plugins/TSCBLBuilderNoMaterialESProducer.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc b/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc index 378f251063f3e..96182238d9917 100644 --- a/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc +++ b/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc @@ -27,7 +27,7 @@ class TSCBLBuilderNoMaterialESProducer : public edm::ESProducer { TSCBLBuilderNoMaterialESProducer(const edm::ParameterSet&); ~TSCBLBuilderNoMaterialESProducer() override; - typedef std::shared_ptr ReturnType; + typedef std::unique_ptr ReturnType; ReturnType produce(const TrackingComponentsRecord&); private: @@ -74,10 +74,10 @@ TSCBLBuilderNoMaterialESProducer::ReturnType TSCBLBuilderNoMaterialESProducer::produce(const TrackingComponentsRecord& iRecord) { using namespace edm::es; - TSCBLBuilderNoMaterialESProducer::ReturnType pTSCBLBuilderNoMaterial(new TSCBLBuilderNoMaterial()) ; + auto pTSCBLBuilderNoMaterial = std::make_unique() ; - return pTSCBLBuilderNoMaterial ; + return std::move(pTSCBLBuilderNoMaterial) ; } //define this as a plug-in From 254947ce8d84c7ba0a88d91ea668843d8b4d1142 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Mon, 29 Jan 2018 20:08:25 +0100 Subject: [PATCH 3/3] Revert std::move change. In this case the cast works directly. --- .../PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc | 2 +- .../plugins/TSCBLBuilderWithPropagatorESProducer.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc b/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc index 96182238d9917..59567c4a467a6 100644 --- a/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc +++ b/TrackingTools/PatternTools/plugins/TSCBLBuilderNoMaterialESProducer.cc @@ -77,7 +77,7 @@ TSCBLBuilderNoMaterialESProducer::produce(const TrackingComponentsRecord& iRecor auto pTSCBLBuilderNoMaterial = std::make_unique() ; - return std::move(pTSCBLBuilderNoMaterial) ; + return pTSCBLBuilderNoMaterial ; } //define this as a plug-in diff --git a/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc b/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc index e55ca92bdc24d..af5a27af75045 100644 --- a/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc +++ b/TrackingTools/PatternTools/plugins/TSCBLBuilderWithPropagatorESProducer.cc @@ -86,7 +86,7 @@ TSCBLBuilderWithPropagatorESProducer::produce(const TrackingComponentsRecord& iR auto pTSCBLBuilderWithPropagator = std::make_unique(*pro) ; - return std::move(pTSCBLBuilderWithPropagator) ; + return pTSCBLBuilderWithPropagator ; } //define this as a plug-in