diff --git a/tree/dataframe/inc/ROOT/RDFInterface.hxx b/tree/dataframe/inc/ROOT/RDFInterface.hxx index ff7bc3e45d268e95defc1e1b51f1f951fb0ba5bf..28e97419ce8b60b249a81c1aa06be1ddd3a1cb51 100644 --- a/tree/dataframe/inc/ROOT/RDFInterface.hxx +++ b/tree/dataframe/inc/ROOT/RDFInterface.hxx @@ -1197,7 +1197,7 @@ public: template <typename FirstColumn, typename... OtherColumns, typename T> // need FirstColumn to disambiguate overloads RResultPtr<T> Fill(T &&model, const ColumnNames_t &columnList) { - auto h = std::make_shared<T>(std::move(model)); + auto h = std::make_shared<T>(std::forward<T>(model)); if (!RDFInternal::HistoUtils<T>::HasAxisLimits(*h)) { throw std::runtime_error("The absence of axes limits is not supported yet."); } @@ -1218,7 +1218,7 @@ public: template <typename T> RResultPtr<T> Fill(T &&model, const ColumnNames_t &bl) { - auto h = std::make_shared<T>(std::move(model)); + auto h = std::make_shared<T>(std::forward<T>(model)); if (!RDFInternal::HistoUtils<T>::HasAxisLimits(*h)) { throw std::runtime_error("The absence of axes limits is not supported yet."); } @@ -1833,7 +1833,8 @@ private: // this type in the interpreter. int errCode(0); retTypeName = TClassEdit::DemangleTypeIdName(typeid(RetType), errCode); - retTypeNameFwdDecl = "class " + retTypeName + ";/* Did you forget to declare type " + retTypeName + " in the interpreter?*/"; + retTypeNameFwdDecl = + "class " + retTypeName + ";/* Did you forget to declare type " + retTypeName + " in the interpreter?*/"; } const auto retTypeDeclaration = "namespace __tdf" + std::to_string(fLoopManager->GetID()) + " { " + retTypeNameFwdDecl + " using " + std::string(name) + "_type = " + retTypeName + @@ -1842,7 +1843,7 @@ private: RDFInternal::RBookedCustomColumns newCols(newColumns); - auto newColumn = std::make_shared<NewCol_t>(fLoopManager, name, std::move(expression), validColumnNames, + auto newColumn = std::make_shared<NewCol_t>(fLoopManager, name, std::forward<F>(expression), validColumnNames, fLoopManager->GetNSlots(), newCols); fLoopManager->RegisterCustomColumn(newColumn.get()); diff --git a/tree/dataframe/inc/ROOT/RDFNodes.hxx b/tree/dataframe/inc/ROOT/RDFNodes.hxx index f95e5f1ed73d3d170badc7723223818866bb69e4..dc540f3b71c1cadccfb7bfffb76bae4857519113 100644 --- a/tree/dataframe/inc/ROOT/RDFNodes.hxx +++ b/tree/dataframe/inc/ROOT/RDFNodes.hxx @@ -337,7 +337,7 @@ public: RAction(Helper &&h, const ColumnNames_t &bl, std::shared_ptr<PrevDataFrame> pd, const RBookedCustomColumns &customColumns) : RActionBase(pd->GetLoopManagerUnchecked(), pd->GetLoopManagerUnchecked()->GetNSlots(), bl, customColumns), - fHelper(std::move(h)), fPrevDataPtr(std::move(pd)), fPrevData(*fPrevDataPtr), fValues(fNSlots) + fHelper(std::forward<Helper>(h)), fPrevDataPtr(std::move(pd)), fPrevData(*fPrevDataPtr), fValues(fNSlots) { } @@ -467,7 +467,7 @@ class RCustomColumn final : public RCustomColumnBase { public: RCustomColumn(RLoopManager *lm, std::string_view name, F &&expression, const ColumnNames_t &bl, unsigned int nSlots, const RDFInternal::RBookedCustomColumns &customColumns, bool isDSColumn = false) - : RCustomColumnBase(lm, name, nSlots, isDSColumn, customColumns), fExpression(std::move(expression)), + : RCustomColumnBase(lm, name, nSlots, isDSColumn, customColumns), fExpression(std::forward<F>(expression)), fBranches(bl), fLastResults(fNSlots), fValues(fNSlots) { } @@ -622,7 +622,8 @@ public: RFilter(FilterF &&f, const ColumnNames_t &bl, std::shared_ptr<PrevDataFrame> pd, const RDFInternal::RBookedCustomColumns &customColumns, std::string_view name = "") : RFilterBase(pd->GetLoopManagerUnchecked(), name, pd->GetLoopManagerUnchecked()->GetNSlots(), customColumns), - fFilter(std::move(f)), fBranches(bl), fPrevDataPtr(std::move(pd)), fPrevData(*fPrevDataPtr), fValues(fNSlots) + fFilter(std::forward<FilterF>(f)), fBranches(bl), fPrevDataPtr(std::move(pd)), fPrevData(*fPrevDataPtr), + fValues(fNSlots) { }