From 4c6ac56660c0b41c8627d2e434ea0de3656a4e8d Mon Sep 17 00:00:00 2001 From: Sam Jenkins <s.jenkins@stfc.ac.uk> Date: Wed, 3 Apr 2019 13:21:20 +0100 Subject: [PATCH] Re #25465 Removed raw owning pointers from nexus descriptor --- Framework/Kernel/inc/MantidKernel/NexusDescriptor.h | 3 ++- Framework/Kernel/src/NexusDescriptor.cpp | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h b/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h index e5320bb0aef..7684b32e2f7 100644 --- a/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h +++ b/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h @@ -13,6 +13,7 @@ #include <string> #include <unordered_set> #include <utility> +#include <memory> namespace NeXus { class File; @@ -110,7 +111,7 @@ private: std::map<std::string, std::string> m_pathsToTypes; /// Open NeXus handle - ::NeXus::File *m_file; + std::unique_ptr< ::NeXus::File> m_file; }; } // namespace Kernel diff --git a/Framework/Kernel/src/NexusDescriptor.cpp b/Framework/Kernel/src/NexusDescriptor.cpp index cc9902c37bc..b56b46e2cd3 100644 --- a/Framework/Kernel/src/NexusDescriptor.cpp +++ b/Framework/Kernel/src/NexusDescriptor.cpp @@ -142,7 +142,7 @@ NexusDescriptor::NexusDescriptor(const std::string &filename) /** */ -NexusDescriptor::~NexusDescriptor() { delete m_file; } +NexusDescriptor::~NexusDescriptor() {} /// Returns the name & type of the first entry in the file const std::pair<std::string, std::string> & @@ -220,7 +220,7 @@ void NexusDescriptor::initialize(const std::string &filename) { m_filename = filename; m_extension = "." + Poco::Path(filename).getExtension(); - m_file = new ::NeXus::File(this->filename()); + m_file = std::make_unique<::NeXus::File>(this->filename()); m_file->openPath("/"); m_rootAttrs.clear(); -- GitLab