Line data Source code
1 1 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : /// \file 5 : /// Defines class h5::Object abstract base class 6 : 7 : #pragma once 8 : 9 : namespace h5 { 10 : /*! 11 : * \ingroup HDF5Group 12 : * \brief Abstract base class representing an object in an HDF5 file 13 : */ 14 1 : class Object { 15 : public: 16 : /// \cond HIDDEN_SYMBOLS 17 : Object() = default; 18 : Object(const Object& /*rhs*/) = delete; 19 : Object& operator=(const Object& /*rhs*/) = delete; 20 : Object(Object&& /*rhs*/) = delete; // NOLINT 21 : Object& operator=(Object&& /*rhs*/) = delete; // NOLINT 22 : virtual ~Object() = default; 23 : /// \endcond 24 : 25 : /// Return the path to the subfile where this object is stored 26 1 : virtual const std::string& subfile_path() const = 0; 27 : }; 28 : } // namespace h5