From a5e7052ae66f48d63eca596613f97a1ecf5da056 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <dmitri.naumov@ufz.de> Date: Mon, 14 Mar 2016 16:37:45 +0100 Subject: [PATCH] [MaL] Use unique_ptr for PIMPL in CVodeSolver. --- MathLib/ODE/CVodeSolver.cpp | 7 ++----- MathLib/ODE/CVodeSolver.h | 3 ++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/MathLib/ODE/CVodeSolver.cpp b/MathLib/ODE/CVodeSolver.cpp index 0689a837eeb..c4cbde8da15 100644 --- a/MathLib/ODE/CVodeSolver.cpp +++ b/MathLib/ODE/CVodeSolver.cpp @@ -308,7 +308,7 @@ CVodeSolverImpl::~CVodeSolverImpl() } CVodeSolverInternal::CVodeSolverInternal(BaseLib::ConfigTree const& config) - : _impl(new CVodeSolverImpl(config)) + : _impl.reset(std::unique_ptr<CVodeSolverImpl>{new CVodeSolverImpl{config}}) { } @@ -364,9 +364,6 @@ double CVodeSolverInternal::getTime() const return _impl->getTime(); } -CVodeSolverInternal::~CVodeSolverInternal() -{ - delete _impl; -} +CVodeSolverInternal::~CVodeSolverInternal() = default; } // namespace MathLib diff --git a/MathLib/ODE/CVodeSolver.h b/MathLib/ODE/CVodeSolver.h index 4c2d3f5eaa5..fded9177c06 100644 --- a/MathLib/ODE/CVodeSolver.h +++ b/MathLib/ODE/CVodeSolver.h @@ -48,7 +48,8 @@ protected: ~CVodeSolverInternal(); private: - CVodeSolverImpl* _impl; ///< pimpl idiom hides implementation + std::unique_ptr<CVodeSolverImpl> + _impl; ///< pimpl idiom hides sundials headers. }; } // namespace MathLib -- GitLab