From 9dfb3e9d1a6c987a9b27eae83c8395eb53b9413f Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 27 Oct 2019 00:21:54 +0100 Subject: Perfect forwarding add and addObject --- icetray/icetray/icecube.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/icetray/icetray/icecube.h b/icetray/icetray/icecube.h index f2a3454..13c0545 100644 --- a/icetray/icetray/icecube.h +++ b/icetray/icetray/icecube.h @@ -26,20 +26,20 @@ namespace IceTray { public: template - static auto addObject(const Ice::ObjectAdapterPtr & adp, const std::string & name, const Args & ... args) + static auto addObject(const Ice::ObjectAdapterPtr & adp, const std::string & name, Args && ... args) { static_assert(std::is_convertible::value); static_assert(std::is_convertible::value); - auto prx = adp->add(std::make_shared(args...), Ice::stringToIdentity(name)); + auto prx = adp->add(std::make_shared(std::forward(args)...), Ice::stringToIdentity(name)); return pm()->add(std::make_shared(prx), typeid(typename T::ProxyType).name(), __FILE__, __LINE__); } template - static auto add(const Args & ... args) + static auto add(Args && ... args) { static_assert(std::is_convertible *, T *>::value); - return pm()->add(std::make_shared>(args...), typeid(T).name(), __FILE__, __LINE__); + return pm()->add(std::make_shared>(std::forward(args)...), typeid(T).name(), __FILE__, __LINE__); } template -- cgit v1.2.3