MISR Toolkit  1.5.1
H5Group.h
Go to the documentation of this file.
1 // C++ informative line for the emacs editor: -*- C++ -*-
2 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3  * Copyright by The HDF Group. *
4  * Copyright by the Board of Trustees of the University of Illinois. *
5  * All rights reserved. *
6  * *
7  * This file is part of HDF5. The full HDF5 copyright notice, including *
8  * terms governing use, modification, and redistribution, is contained in *
9  * the COPYING file, which can be found at the root of the source code *
10  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
11  * If you do not have access to either file, you may request a copy from *
12  * help@hdfgroup.org. *
13  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
14 
15 #ifndef __H5Group_H
16 #define __H5Group_H
17 
18 namespace H5 {
19 
23 // Inheritance: CommonFG/H5Object -> H5Location -> IdComponent
24 class H5_DLLCPP Group : public H5Object, public CommonFG {
25  public:
26  // Close this group.
27  virtual void close();
28 
30  virtual H5std_string fromClass () const { return("Group"); }
31 
32  // Throw group exception.
33  virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
34 
35  // for CommonFG to get the file id.
36  virtual hid_t getLocId() const;
37 
38  // Creates a group by way of dereference.
39  Group(const H5Location& loc, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
40  // Removed in 1.8.19, because H5Location is baseclass
41  //Group(const Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
42 
43  // default constructor
44  Group();
45 
46  // Copy constructor: makes a copy of the original object
47  Group(const Group& original);
48 
49  // Gets the group id.
50  virtual hid_t getId() const;
51 
52  // Destructor
53  virtual ~Group();
54 
55  // Creates a copy of an existing group using its id.
56  Group(const hid_t group_id);
57 
58  // The "using" lines below are to avoid the compilation error
59  // "error: request for member ‘link’ is ambiguous" when both CommonFG and
60  // H5Location have overloaded functions of the same name. CommonFG's
61  // member functions need to be kept for backward compatibility for a while.
62  // They can be removed after these functions are removed.
63  // -BMR, May 2018
64  using H5Location::link;
65  using CommonFG::link;
66 
67  protected:
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS
69  // Sets the group id.
70  virtual void p_setId(const hid_t new_id);
71 #endif // DOXYGEN_SHOULD_SKIP_THIS
72 
73  private:
74  hid_t id; // HDF5 group id
75 
76 }; // end of Group
77 } // namespace H5
78 
79 #endif // __H5Group_H
#define H5_DLLCPP
Definition: H5api_adpt.h:262
Class Group represents an HDF5 group.
Definition: H5Group.h:24
Class H5Object is a bridge between H5Location and DataSet, DataType, and Group.
Definition: H5Object.h:37
H5Location is an abstract base class, providing a collection of wrappers of the C functions that take...
Definition: H5Location.h:42
HDFFCLIBAPI intf intf * ref
#define H5std_string
Definition: H5Exception.h:25
void link(H5L_type_t link_type, const char *curr_name, const char *new_name) const
int hid_t
Definition: H5Ipublic.h:54
H5R_type_t
Definition: H5Rpublic.h:28
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5Group.h:30
hid_t id
Definition: H5Group.h:74
void link(const char *target_name, const char *link_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
CommonFG is an abstract base class of H5File and H5Group.
Definition: H5CommonFG.h:29

MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:52