HighFive  2.3.1
HighFive - Header-only C++ HDF5 interface
H5Group.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c), 2017, Adrien Devresse <adrien.devresse@epfl.ch>
3  *
4  * Distributed under the Boost Software License, Version 1.0.
5  * (See accompanying file LICENSE_1_0.txt or copy at
6  * http://www.boost.org/LICENSE_1_0.txt)
7  *
8  */
9 #ifndef HIGHFIVE_H5GROUP_HPP
10 #define HIGHFIVE_H5GROUP_HPP
11 
12 #include "H5Object.hpp"
13 #include "bits/H5_definitions.hpp"
15 #include "bits/H5Node_traits.hpp"
16 #include "bits/H5Path_traits.hpp"
17 
18 namespace HighFive {
19 
22 class Group : public Object,
23  public NodeTraits<Group>,
24  public AnnotateTraits<Group>,
25  public PathTraits<Group> {
26  public:
28 
29  H5_DEPRECATED("Default constructor creates unsafe uninitialized objects")
30  Group() = default;
31 
32  protected:
33  using Object::Object;
34 
35  Group(Object&& o) noexcept : Object(std::move(o)) {};
36 
37  friend class File;
38  friend class Reference;
39  template <typename Derivate> friend class ::HighFive::NodeTraits;
40 };
41 
42 } // namespace HighFive
43 
44 #endif // HIGHFIVE_H5GROUP_HPP
#define H5_DEPRECATED
Definition: H5_definitions.hpp:9
Definition: H5Annotate_traits.hpp:19
File class.
Definition: H5File.hpp:26
Represents an hdf5 group.
Definition: H5Group.hpp:25
static const ObjectType type
Definition: H5Group.hpp:27
NodeTraits: Base class for Group and File.
Definition: H5Node_traits.hpp:23
Definition: H5Object.hpp:36
Definition: H5Path_traits.hpp:16
An HDF5 (object) reference type.
Definition: H5Reference.hpp:31
Definition: H5_definitions.hpp:15
ObjectType
Enum of the types of objects (H5O api)
Definition: H5Object.hpp:25