My Project  1.10.11
H5CommonFG.h
1 // C++ informative line for the emacs editor: -*- C++ -*-
2 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3  * Copyright by The HDF Group. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://www.hdfgroup.org/licenses. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 #ifndef H5CommonFG_H
15 #define H5CommonFG_H
16 
17 namespace H5 {
18 
19 // Class forwarding
20 class Group;
21 class H5File;
22 class ArrayType;
23 class VarLenType;
24 
28 /* Note: This class is being deprecated gradually. */
29 class H5_DLLCPP CommonFG {
30  public:
31  // Opens a generic named datatype in this location.
32  DataType openDataType(const char *name) const;
33  DataType openDataType(const H5std_string &name) const;
34 
35  // Opens a named array datatype in this location.
36  ArrayType openArrayType(const char *name) const;
37  ArrayType openArrayType(const H5std_string &name) const;
38 
39  // Opens a named compound datatype in this location.
40  CompType openCompType(const char *name) const;
41  CompType openCompType(const H5std_string &name) const;
42 
43  // Opens a named enumeration datatype in this location.
44  EnumType openEnumType(const char *name) const;
45  EnumType openEnumType(const H5std_string &name) const;
46 
47  // Opens a named integer datatype in this location.
48  IntType openIntType(const char *name) const;
49  IntType openIntType(const H5std_string &name) const;
50 
51  // Opens a named floating-point datatype in this location.
52  FloatType openFloatType(const char *name) const;
53  FloatType openFloatType(const H5std_string &name) const;
54 
55  // Opens a named string datatype in this location.
56  StrType openStrType(const char *name) const;
57  StrType openStrType(const H5std_string &name) const;
58 
59  // Opens a named variable length datatype in this location.
60  VarLenType openVarLenType(const char *name) const;
61  VarLenType openVarLenType(const H5std_string &name) const;
62 
63 #ifndef DOXYGEN_SHOULD_SKIP_THIS
64  virtual hid_t getLocId() const = 0;
67 
69  virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const = 0;
70 
71  // Default constructor.
72  CommonFG();
73 
74  // Noop destructor.
75  virtual ~CommonFG();
76 
77  protected:
78  virtual void p_setId(const hid_t new_id) = 0;
79 
80 #endif // DOXYGEN_SHOULD_SKIP_THIS
81 
82 }; // end of CommonFG
83 } // namespace H5
84 
85 #endif // H5CommonFG_H
86 
87 /***************************************************************************
88  Design Note
89  ===========
90 
91 September 2017:
92 
93  This class used to be base class of H5File as well, until the
94  restructure that moved H5File to be subclass of H5Group.
95 */
H5::IntType
IntType is a derivative of a DataType and operates on HDF5 integer datatype.
Definition: H5IntType.h:24
H5::CommonFG
CommonFG is an abstract base class of H5Group.
Definition: H5CommonFG.h:29
H5::FloatType
FloatType is a derivative of a DataType and operates on HDF5 floating point datatype.
Definition: H5FloatType.h:24
H5::CommonFG::openFloatType
FloatType openFloatType(const char *name) const
Opens the named floating-point datatype at this location.
Definition: H5CommonFG.cpp:248
H5::CommonFG::openStrType
StrType openStrType(const char *name) const
Opens the named string datatype at this location.
Definition: H5CommonFG.cpp:286
H5::CommonFG::openCompType
CompType openCompType(const char *name) const
Opens the named compound datatype at this location.
Definition: H5CommonFG.cpp:134
H5::CommonFG::openVarLenType
VarLenType openVarLenType(const char *name) const
Opens the named variable length datatype at this location.
Definition: H5CommonFG.cpp:324
H5::CommonFG::openEnumType
EnumType openEnumType(const char *name) const
Opens the named enumeration datatype at this location.
Definition: H5CommonFG.cpp:172
H5::ArrayType
Class ArrayType inherits from DataType and provides wrappers for the HDF5's Array Datatypes.
Definition: H5ArrayType.h:24
H5::CommonFG::openDataType
DataType openDataType(const char *name) const
Opens the named generic datatype at this location.
Definition: H5CommonFG.cpp:58
H5::StrType
StrType is a derivative of a DataType and operates on HDF5 string datatype.
Definition: H5StrType.h:24
H5::VarLenType
VarLenType is a derivative of a DataType and operates on HDF5 Variable-length Datatypes.
Definition: H5VarLenType.h:24
H5::CompType
CompType is a derivative of a DataType and operates on HDF5 compound datatypes.
Definition: H5CompType.h:24
H5::EnumType
EnumType is a derivative of a DataType and operates on HDF5 enum datatypes.
Definition: H5EnumType.h:24
H5
Definition: H5AbstractDs.cpp:33
H5::CommonFG::openIntType
IntType openIntType(const char *name) const
Opens the named integer datatype at this location.
Definition: H5CommonFG.cpp:210
H5::DataType
Class DataType provides generic operations on HDF5 datatypes.
Definition: H5DataType.h:27
H5::CommonFG::openArrayType
ArrayType openArrayType(const char *name) const
Opens the named array datatype at this location.
Definition: H5CommonFG.cpp:96


The HDF Group Help Desk:
  Copyright by The HDF Group