summaryrefslogtreecommitdiffstats
path: root/c++/src/H5Group.h
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5Group.h')
-rw-r--r--c++/src/H5Group.h109
1 files changed, 59 insertions, 50 deletions
diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h
index 9978cf0..cb9b092 100644
--- a/c++/src/H5Group.h
+++ b/c++/src/H5Group.h
@@ -1,76 +1,85 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef _H5Group_H
-#define _H5Group_H
+#ifndef H5Group_H
+#define H5Group_H
-#ifndef H5_NO_NAMESPACE
namespace H5 {
-#endif
+/*! \class Group
+ \brief Class Group represents an HDF5 group.
+*/
+// Inheritance: CommonFG/H5Object -> H5Location -> IdComponent
class H5_DLLCPP Group : public H5Object, public CommonFG {
- public:
- // Close this group.
- virtual void close();
+ public:
+ // Close this group.
+ virtual void close() override;
-#ifndef H5_NO_DEPRECATED_SYMBOLS
- // Retrieves the type of object that an object reference points to.
- H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
-#endif /* H5_NO_DEPRECATED_SYMBOLS */
+ ///\brief Returns this class name.
+ virtual H5std_string
+ fromClass() const override
+ {
+ return ("Group");
+ }
- // Retrieves a dataspace with the region pointed to selected.
- DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
+ // Throw group exception.
+ virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const override;
- // Returns this class name
- virtual H5std_string fromClass () const { return("Group"); }
+ // for CommonFG to get the file id.
+ virtual hid_t getLocId() const override;
- // Throw group exception.
- virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
+ // Creates a group by way of dereference.
+ Group(const H5Location &loc, const void *ref, H5R_type_t ref_type = H5R_OBJECT,
+ const PropList &plist = PropList::DEFAULT);
+ // Removed in 1.10.1, because H5Location is baseclass
+ // Group(const Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT, const PropList&
+ // plist = PropList::DEFAULT);
- // for CommonFG to get the file id.
- virtual hid_t getLocId() const;
+ // Returns the number of objects in this group.
+ hsize_t getNumObjs() const;
- // Creates a group by way of dereference.
- Group(H5Object& obj, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
- Group(H5File& h5file, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
- Group(Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
+ // Opens an object within a group or a file, i.e., root group.
+ hid_t getObjId(const char *name, const PropList &plist = PropList::DEFAULT) const;
+ hid_t getObjId(const H5std_string &name, const PropList &plist = PropList::DEFAULT) const;
- // default constructor
- Group();
+ // Closes an object opened by getObjId().
+ void closeObjId(hid_t obj_id) const;
- // Copy constructor: makes a copy of the original object
- Group(const Group& original);
+ // default constructor
+ Group();
- // Gets the group id.
- virtual hid_t getId() const;
+ // Copy constructor: same as the original Group.
+ Group(const Group &original);
- // Destructor
- virtual ~Group();
+ // Gets the group id.
+ virtual hid_t getId() const override;
- // Creates a copy of an existing group using its id.
- Group( const hid_t group_id );
+ // Destructor
+ virtual ~Group() override;
- private:
- hid_t id; // HDF5 group id
+ // Creates a copy of an existing group using its id.
+ Group(const hid_t group_id);
- protected:
- // Sets the group id.
- virtual void p_setId(const hid_t new_id);
-};
-#ifndef H5_NO_NAMESPACE
-}
-#endif
-#endif
+ protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ // Sets the group id.
+ virtual void p_setId(const hid_t new_id) override;
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
+ private:
+ hid_t id; // HDF5 group id
+
+}; // end of Group
+} // namespace H5
+
+#endif // H5Group_H