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
|