From 04e68bfe32c868dfd1d3ef25d10db822a11168f1 Mon Sep 17 00:00:00 2001 From: Sam Jenkins <s.jenkins@stfc.ac.uk> Date: Mon, 3 Dec 2018 13:35:34 +0000 Subject: [PATCH] Re #23103 removed simpler to remove pointers from files changed --- .../FuncMinimizers/LevenbergMarquardtMinimizer.h | 2 +- .../src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp | 8 +++----- Framework/DataHandling/src/LoadNexusMonitors2.cpp | 7 ++----- .../inc/MantidDataObjects/MDHistoWorkspaceIterator.h | 2 +- Framework/DataObjects/src/MDHistoWorkspaceIterator.cpp | 7 +------ 5 files changed, 8 insertions(+), 18 deletions(-) diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h index 0eb61f91016..693118aacc9 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h @@ -47,7 +47,7 @@ private: int hasConverged(); /// GSL data container - GSL_FitData *m_data; + std::unique_ptr<GSL_FitData> m_data; /// GSL minimizer container gsl_multifit_function_fdf gslContainer; diff --git a/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp index c70d8e809d7..8685dc4ce45 100644 --- a/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp @@ -60,7 +60,7 @@ void LevenbergMarquardtMinimizer::initialize( boost::dynamic_pointer_cast<CostFunctions::CostFuncLeastSquares>( costFunction); if (leastSquares) { - m_data = new GSL_FitData(leastSquares); + m_data = std::make_unique<GSL_FitData>(leastSquares); } else { throw std::runtime_error("LevenbergMarquardt can only be used with Least " "squares cost function."); @@ -73,9 +73,10 @@ void LevenbergMarquardtMinimizer::initialize( gslContainer.f = &gsl_f; gslContainer.df = &gsl_df; gslContainer.fdf = &gsl_fdf; + gslContainer.n = m_data->n; gslContainer.p = m_data->p; - gslContainer.params = m_data; + gslContainer.params = m_data.get(); // setup GSL solver m_gslSolver = gsl_multifit_fdfsolver_alloc(T, m_data->n, m_data->p); @@ -92,9 +93,6 @@ void LevenbergMarquardtMinimizer::initialize( } LevenbergMarquardtMinimizer::~LevenbergMarquardtMinimizer() { - if (m_data) { - delete m_data; - } if (m_gslSolver) { gsl_multifit_fdfsolver_free(m_gslSolver); } diff --git a/Framework/DataHandling/src/LoadNexusMonitors2.cpp b/Framework/DataHandling/src/LoadNexusMonitors2.cpp index c7170e43299..5c81269974d 100644 --- a/Framework/DataHandling/src/LoadNexusMonitors2.cpp +++ b/Framework/DataHandling/src/LoadNexusMonitors2.cpp @@ -426,9 +426,9 @@ void LoadNexusMonitors2::runLoadLogs(const std::string filename, **/ bool LoadNexusMonitors2::canOpenAsNeXus(const std::string &fname) { bool res = true; - ::NeXus::File *f = nullptr; + std::unique_ptr<::NeXus::File> f = nullptr; try { - f = new ::NeXus::File(fname); + f = std::make_unique<::NeXus::File>(fname); if (f) f->getEntries(); } catch (::NeXus::Exception &e) { @@ -436,9 +436,6 @@ bool LoadNexusMonitors2::canOpenAsNeXus(const std::string &fname) { << "', error description: " << e.what() << '\n'; res = false; } - if (f) - delete f; - return res; } //------------------------------------------------------------------------------ diff --git a/Framework/DataObjects/inc/MantidDataObjects/MDHistoWorkspaceIterator.h b/Framework/DataObjects/inc/MantidDataObjects/MDHistoWorkspaceIterator.h index 1455b821bc1..e13c043b9f4 100644 --- a/Framework/DataObjects/inc/MantidDataObjects/MDHistoWorkspaceIterator.h +++ b/Framework/DataObjects/inc/MantidDataObjects/MDHistoWorkspaceIterator.h @@ -140,7 +140,7 @@ protected: uint64_t m_max; /// Implicit function to limit volume searched - Mantid::Geometry::MDImplicitFunction *m_function; + std::unique_ptr<Mantid::Geometry::MDImplicitFunction> m_function; /// Number of dimensions size_t m_nd; diff --git a/Framework/DataObjects/src/MDHistoWorkspaceIterator.cpp b/Framework/DataObjects/src/MDHistoWorkspaceIterator.cpp index bb6280ec142..6e0e88ac766 100644 --- a/Framework/DataObjects/src/MDHistoWorkspaceIterator.cpp +++ b/Framework/DataObjects/src/MDHistoWorkspaceIterator.cpp @@ -168,7 +168,7 @@ void MDHistoWorkspaceIterator::init( m_begin = beginPos; m_pos = m_begin; - m_function = function; + m_function.reset(function); m_max = endPos; if (m_max > m_ws->getNPoints()) @@ -249,12 +249,7 @@ MDHistoWorkspaceIterator::~MDHistoWorkspaceIterator() { delete[] m_index; delete[] m_indexMax; delete[] m_indexMaker; - - if (m_function) - delete m_function; - m_function = nullptr; } - //---------------------------------------------------------------------------------------------- /** @return the number of points to be iterated on */ size_t MDHistoWorkspaceIterator::getDataSize() const { -- GitLab