My Project 1.10.10
Loading...
Searching...
No Matches
H5AbstractDs.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 H5AbstractDs_H
15#define H5AbstractDs_H
16
17namespace H5 {
18
19class ArrayType;
20class CompType;
21class EnumType;
22class FloatType;
23class IntType;
24class StrType;
25class VarLenType;
26class DataSpace;
27
35class H5_DLLCPP AbstractDs {
36 public:
37 // Gets a copy the datatype of that this abstract dataset uses.
38 // Note that this datatype is a generic one and can only be accessed
39 // via generic member functions, i.e., member functions belong
40 // to DataType. To get specific datatype, i.e. EnumType, FloatType,
41 // etc..., use the specific functions, that follow, instead.
42 DataType getDataType() const;
43
44 // Gets a copy of the specific datatype of this abstract dataset.
45 ArrayType getArrayType() const;
46 CompType getCompType() const;
47 EnumType getEnumType() const;
48 IntType getIntType() const;
49 FloatType getFloatType() const;
50 StrType getStrType() const;
51 VarLenType getVarLenType() const;
52
54 virtual size_t getInMemDataSize() const = 0;
55
57 virtual DataSpace getSpace() const = 0;
58
59 // Gets the class of the datatype that is used by this abstract
60 // dataset.
61 H5T_class_t getTypeClass() const;
62
64 virtual hsize_t getStorageSize() const = 0;
65
66 // Returns this class name - pure virtual.
67 virtual H5std_string fromClass() const = 0;
68
69 // Destructor
70 virtual ~AbstractDs();
71
72 protected:
73 // Default constructor
74 AbstractDs();
75
76 private:
77 // This member function is implemented by DataSet and Attribute - pure virtual.
78 virtual hid_t p_get_type() const = 0;
79
80}; // end of AbstractDs
81} // namespace H5
82
83#endif // H5AbstractDs_H
AbstractDs is an abstract base class, inherited by Attribute and DataSet.
Definition H5AbstractDs.h:35
virtual H5std_string fromClass() const =0
virtual DataSpace getSpace() const =0
Gets the dataspace of this abstract dataset - pure virtual.
virtual size_t getInMemDataSize() const =0
Gets the size in memory of this abstract dataset.
virtual hsize_t getStorageSize() const =0
Returns the amount of storage size required - pure virtual.
Class ArrayType inherits from DataType and provides wrappers for the HDF5's Array Datatypes.
Definition H5ArrayType.h:24
CompType is a derivative of a DataType and operates on HDF5 compound datatypes.
Definition H5CompType.h:24
Class DataSpace inherits from IdComponent and provides wrappers for the HDF5's dataspaces.
Definition H5DataSpace.h:24
Class DataType provides generic operations on HDF5 datatypes.
Definition H5DataType.h:27
EnumType is a derivative of a DataType and operates on HDF5 enum datatypes.
Definition H5EnumType.h:24
FloatType is a derivative of a DataType and operates on HDF5 floating point datatype.
Definition H5FloatType.h:24
IntType is a derivative of a DataType and operates on HDF5 integer datatype.
Definition H5IntType.h:24
StrType is a derivative of a DataType and operates on HDF5 string datatype.
Definition H5StrType.h:24
VarLenType is a derivative of a DataType and operates on HDF5 Variable-length Datatypes.
Definition H5VarLenType.h:24
Definition H5AbstractDs.cpp:33


The HDF Group Help Desk:
  Copyright by The HDF Group