diff --git a/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h b/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h index e5320bb0aef3f641e717500a621c4e5ccbdef988..7684b32e2f7f8dbaf63e24cb634a89c0c00067c1 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 cc9902c37bc1aa0130f1a026ed5b987622629ed0..b56b46e2cd3b2b68fffe4033168674dd3ad4fb7f 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();