My Project 1.10.8
H5CommonFG.h
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://www.hdfgroup.org/licenses. *
11 * If you do not have access to either file, you may request a copy from *
12 * help@hdfgroup.org. *
13 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
14
15#ifndef H5CommonFG_H
16#define H5CommonFG_H
17
18namespace H5 {
19
20// Class forwarding
21class Group;
22class H5File;
23class ArrayType;
24class VarLenType;
25
29/* Note: This class is being deprecated gradually. */
30class H5_DLLCPP CommonFG {
31 public:
32 // Opens a generic named datatype in this location.
33 DataType openDataType(const char *name) const;
34 DataType openDataType(const H5std_string &name) const;
35
36 // Opens a named array datatype in this location.
37 ArrayType openArrayType(const char *name) const;
38 ArrayType openArrayType(const H5std_string &name) const;
39
40 // Opens a named compound datatype in this location.
41 CompType openCompType(const char *name) const;
42 CompType openCompType(const H5std_string &name) const;
43
44 // Opens a named enumeration datatype in this location.
45 EnumType openEnumType(const char *name) const;
46 EnumType openEnumType(const H5std_string &name) const;
47
48 // Opens a named integer datatype in this location.
49 IntType openIntType(const char *name) const;
50 IntType openIntType(const H5std_string &name) const;
51
52 // Opens a named floating-point datatype in this location.
53 FloatType openFloatType(const char *name) const;
54 FloatType openFloatType(const H5std_string &name) const;
55
56 // Opens a named string datatype in this location.
57 StrType openStrType(const char *name) const;
58 StrType openStrType(const H5std_string &name) const;
59
60 // Opens a named variable length datatype in this location.
61 VarLenType openVarLenType(const char *name) const;
62 VarLenType openVarLenType(const H5std_string &name) const;
63
64#ifndef DOXYGEN_SHOULD_SKIP_THIS
67 virtual hid_t getLocId() const = 0;
68
70 virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const = 0;
71
72 // Default constructor.
73 CommonFG();
74
75 // Noop destructor.
76 virtual ~CommonFG();
77
78 protected:
79 virtual void p_setId(const hid_t new_id) = 0;
80
81#endif // DOXYGEN_SHOULD_SKIP_THIS
82
83}; // end of CommonFG
84} // namespace H5
85
86#endif // H5CommonFG_H
87
88/***************************************************************************
89 Design Note
90 ===========
91
92September 2017:
93
94 This class used to be base class of H5File as well, until the
95 restructure that moved H5File to be subclass of H5Group.
96*/
Class ArrayType inherits from DataType and provides wrappers for the HDF5's Array Datatypes.
Definition: H5ArrayType.h:25
CommonFG is an abstract base class of H5Group.
Definition: H5CommonFG.h:30
CompType is a derivative of a DataType and operates on HDF5 compound datatypes.
Definition: H5CompType.h:25
Class DataType provides generic operations on HDF5 datatypes.
Definition: H5DataType.h:28
EnumType is a derivative of a DataType and operates on HDF5 enum datatypes.
Definition: H5EnumType.h:25
FloatType is a derivative of a DataType and operates on HDF5 floating point datatype.
Definition: H5FloatType.h:25
IntType is a derivative of a DataType and operates on HDF5 integer datatype.
Definition: H5IntType.h:25
StrType is a derivative of a DataType and operates on HDF5 string datatype.
Definition: H5StrType.h:25
VarLenType is a derivative of a DataType and operates on HDF5 Variable-length Datatypes.
Definition: H5VarLenType.h:25
Definition: H5AbstractDs.cpp:34


The HDF Group Help Desk:
  Copyright by The HDF Group
and the Board of Trustees of the University of Illinois