My Project 1.14.3
Loading...
Searching...
No Matches
H5PredType.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 H5PredType_H
15#define H5PredType_H
16
17namespace H5 {
18
26// Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent
27class H5_DLLCPP PredType : public AtomType {
28 public:
30 virtual H5std_string
31 fromClass() const override
32 {
33 return ("PredType");
34 }
35
36 // Makes a copy of the predefined type and stores the new
37 // id in the left hand side object.
38 PredType &operator=(const PredType &rhs);
39
40 // Copy constructor: same as the original PredType.
41 PredType(const PredType &original);
42
43 // Noop destructor
44 virtual ~PredType() override;
45
49 void commit(H5Location &loc, const H5std_string &name);
53 void commit(H5Location &loc, const char *name);
57 bool committed();
58
60 static const PredType &STD_I8BE;
61 static const PredType &STD_I8LE;
62 static const PredType &STD_I16BE;
63 static const PredType &STD_I16LE;
64 static const PredType &STD_I32BE;
65 static const PredType &STD_I32LE;
66 static const PredType &STD_I64BE;
67 static const PredType &STD_I64LE;
68 static const PredType &STD_U8BE;
69 static const PredType &STD_U8LE;
70 static const PredType &STD_U16BE;
71 static const PredType &STD_U16LE;
72 static const PredType &STD_U32BE;
73 static const PredType &STD_U32LE;
74 static const PredType &STD_U64BE;
75 static const PredType &STD_U64LE;
76 static const PredType &STD_B8BE;
77 static const PredType &STD_B8LE;
78 static const PredType &STD_B16BE;
79 static const PredType &STD_B16LE;
80 static const PredType &STD_B32BE;
81 static const PredType &STD_B32LE;
82 static const PredType &STD_B64BE;
83 static const PredType &STD_B64LE;
84 static const PredType &STD_REF_OBJ;
86
87 static const PredType &C_S1;
88 static const PredType &FORTRAN_S1;
89
90 static const PredType &IEEE_F32BE;
91 static const PredType &IEEE_F32LE;
92 static const PredType &IEEE_F64BE;
93 static const PredType &IEEE_F64LE;
94
95 static const PredType &UNIX_D32BE;
96 static const PredType &UNIX_D32LE;
97 static const PredType &UNIX_D64BE;
98 static const PredType &UNIX_D64LE;
99
100 static const PredType &INTEL_I8;
101 static const PredType &INTEL_I16;
102 static const PredType &INTEL_I32;
103 static const PredType &INTEL_I64;
104 static const PredType &INTEL_U8;
105 static const PredType &INTEL_U16;
106 static const PredType &INTEL_U32;
107 static const PredType &INTEL_U64;
108 static const PredType &INTEL_B8;
109 static const PredType &INTEL_B16;
110 static const PredType &INTEL_B32;
111 static const PredType &INTEL_B64;
112 static const PredType &INTEL_F32;
113 static const PredType &INTEL_F64;
114
115 static const PredType &ALPHA_I8;
116 static const PredType &ALPHA_I16;
117 static const PredType &ALPHA_I32;
118 static const PredType &ALPHA_I64;
119 static const PredType &ALPHA_U8;
120 static const PredType &ALPHA_U16;
121 static const PredType &ALPHA_U32;
122 static const PredType &ALPHA_U64;
123 static const PredType &ALPHA_B8;
124 static const PredType &ALPHA_B16;
125 static const PredType &ALPHA_B32;
126 static const PredType &ALPHA_B64;
127 static const PredType &ALPHA_F32;
128 static const PredType &ALPHA_F64;
129
130 static const PredType &MIPS_I8;
131 static const PredType &MIPS_I16;
132 static const PredType &MIPS_I32;
133 static const PredType &MIPS_I64;
134 static const PredType &MIPS_U8;
135 static const PredType &MIPS_U16;
136 static const PredType &MIPS_U32;
137 static const PredType &MIPS_U64;
138 static const PredType &MIPS_B8;
139 static const PredType &MIPS_B16;
140 static const PredType &MIPS_B32;
141 static const PredType &MIPS_B64;
142 static const PredType &MIPS_F32;
143 static const PredType &MIPS_F64;
144
145 static const PredType &NATIVE_CHAR;
146 static const PredType &NATIVE_SCHAR;
147 static const PredType &NATIVE_UCHAR;
148 static const PredType &NATIVE_SHORT;
149 static const PredType &NATIVE_USHORT;
150 static const PredType &NATIVE_INT;
151 static const PredType &NATIVE_UINT;
152 static const PredType &NATIVE_LONG;
153 static const PredType &NATIVE_ULONG;
154 static const PredType &NATIVE_LLONG;
155 static const PredType &NATIVE_ULLONG;
156 static const PredType &NATIVE_FLOAT;
157 static const PredType &NATIVE_DOUBLE;
159 static const PredType &NATIVE_B8;
160 static const PredType &NATIVE_B16;
161 static const PredType &NATIVE_B32;
162 static const PredType &NATIVE_B64;
163 static const PredType &NATIVE_OPAQUE;
164 static const PredType &NATIVE_HSIZE;
165 static const PredType &NATIVE_HSSIZE;
166 static const PredType &NATIVE_HERR;
167 static const PredType &NATIVE_HBOOL;
168
169 static const PredType &NATIVE_INT8;
170 static const PredType &NATIVE_UINT8;
171 static const PredType &NATIVE_INT16;
172 static const PredType &NATIVE_UINT16;
173 static const PredType &NATIVE_INT32;
174 static const PredType &NATIVE_UINT32;
175 static const PredType &NATIVE_INT64;
176 static const PredType &NATIVE_UINT64;
177
178 // LEAST types
181
184
187
190
191 // FAST types
194
197
200
203
204#ifndef DOXYGEN_SHOULD_SKIP_THIS
205
206 // Deletes the PredType global constants
207 static void deleteConstants();
208
209 // Dummy constant
210 static const PredType &PREDTYPE_CONST; // dummy constant
211
212 protected:
213 // Default constructor
214 PredType();
215
216 // Creates a pre-defined type using an HDF5 pre-defined constant
217 PredType(const hid_t predtype_id); // used by the library only
218
219 private:
220 // Activates the creation of the PredType global constants
221 static PredType *getPredTypes();
222
223 // Dynamically allocates PredType global constants
224 static void makePredTypes();
225
226 // Dummy constant
227 static PredType *PREDTYPE_CONST_;
228
229 // Declaration of pointers to constants
230 static PredType *STD_I8BE_;
231 static PredType *STD_I8LE_;
232 static PredType *STD_I16BE_;
233 static PredType *STD_I16LE_;
234 static PredType *STD_I32BE_;
235 static PredType *STD_I32LE_;
236 static PredType *STD_I64BE_;
237 static PredType *STD_I64LE_;
238 static PredType *STD_U8BE_;
239 static PredType *STD_U8LE_;
240 static PredType *STD_U16BE_;
241 static PredType *STD_U16LE_;
242 static PredType *STD_U32BE_;
243 static PredType *STD_U32LE_;
244 static PredType *STD_U64BE_;
245 static PredType *STD_U64LE_;
246 static PredType *STD_B8BE_;
247 static PredType *STD_B8LE_;
248 static PredType *STD_B16BE_;
249 static PredType *STD_B16LE_;
250 static PredType *STD_B32BE_;
251 static PredType *STD_B32LE_;
252 static PredType *STD_B64BE_;
253 static PredType *STD_B64LE_;
254 static PredType *STD_REF_OBJ_;
255 static PredType *STD_REF_DSETREG_;
256
257 static PredType *C_S1_;
258 static PredType *FORTRAN_S1_;
259
260 static PredType *IEEE_F32BE_;
261 static PredType *IEEE_F32LE_;
262 static PredType *IEEE_F64BE_;
263 static PredType *IEEE_F64LE_;
264
265 static PredType *UNIX_D32BE_;
266 static PredType *UNIX_D32LE_;
267 static PredType *UNIX_D64BE_;
268 static PredType *UNIX_D64LE_;
269
270 static PredType *INTEL_I8_;
271 static PredType *INTEL_I16_;
272 static PredType *INTEL_I32_;
273 static PredType *INTEL_I64_;
274 static PredType *INTEL_U8_;
275 static PredType *INTEL_U16_;
276 static PredType *INTEL_U32_;
277 static PredType *INTEL_U64_;
278 static PredType *INTEL_B8_;
279 static PredType *INTEL_B16_;
280 static PredType *INTEL_B32_;
281 static PredType *INTEL_B64_;
282 static PredType *INTEL_F32_;
283 static PredType *INTEL_F64_;
284
285 static PredType *ALPHA_I8_;
286 static PredType *ALPHA_I16_;
287 static PredType *ALPHA_I32_;
288 static PredType *ALPHA_I64_;
289 static PredType *ALPHA_U8_;
290 static PredType *ALPHA_U16_;
291 static PredType *ALPHA_U32_;
292 static PredType *ALPHA_U64_;
293 static PredType *ALPHA_B8_;
294 static PredType *ALPHA_B16_;
295 static PredType *ALPHA_B32_;
296 static PredType *ALPHA_B64_;
297 static PredType *ALPHA_F32_;
298 static PredType *ALPHA_F64_;
299
300 static PredType *MIPS_I8_;
301 static PredType *MIPS_I16_;
302 static PredType *MIPS_I32_;
303 static PredType *MIPS_I64_;
304 static PredType *MIPS_U8_;
305 static PredType *MIPS_U16_;
306 static PredType *MIPS_U32_;
307 static PredType *MIPS_U64_;
308 static PredType *MIPS_B8_;
309 static PredType *MIPS_B16_;
310 static PredType *MIPS_B32_;
311 static PredType *MIPS_B64_;
312 static PredType *MIPS_F32_;
313 static PredType *MIPS_F64_;
314
315 static PredType *NATIVE_CHAR_;
316 static PredType *NATIVE_SCHAR_;
317 static PredType *NATIVE_UCHAR_;
318 static PredType *NATIVE_SHORT_;
319 static PredType *NATIVE_USHORT_;
320 static PredType *NATIVE_INT_;
321 static PredType *NATIVE_UINT_;
322 static PredType *NATIVE_LONG_;
323 static PredType *NATIVE_ULONG_;
324 static PredType *NATIVE_LLONG_;
325 static PredType *NATIVE_ULLONG_;
326 static PredType *NATIVE_FLOAT_;
327 static PredType *NATIVE_DOUBLE_;
328 static PredType *NATIVE_LDOUBLE_;
329 static PredType *NATIVE_B8_;
330 static PredType *NATIVE_B16_;
331 static PredType *NATIVE_B32_;
332 static PredType *NATIVE_B64_;
333 static PredType *NATIVE_OPAQUE_;
334 static PredType *NATIVE_HSIZE_;
335 static PredType *NATIVE_HSSIZE_;
336 static PredType *NATIVE_HERR_;
337 static PredType *NATIVE_HBOOL_;
338
339 static PredType *NATIVE_INT8_;
340 static PredType *NATIVE_UINT8_;
341 static PredType *NATIVE_INT16_;
342 static PredType *NATIVE_UINT16_;
343 static PredType *NATIVE_INT32_;
344 static PredType *NATIVE_UINT32_;
345 static PredType *NATIVE_INT64_;
346 static PredType *NATIVE_UINT64_;
347
348 // LEAST types
349 static PredType *NATIVE_INT_LEAST8_;
350 static PredType *NATIVE_UINT_LEAST8_;
351
352 static PredType *NATIVE_INT_LEAST16_;
353 static PredType *NATIVE_UINT_LEAST16_;
354
355 static PredType *NATIVE_INT_LEAST32_;
356 static PredType *NATIVE_UINT_LEAST32_;
357
358 static PredType *NATIVE_INT_LEAST64_;
359 static PredType *NATIVE_UINT_LEAST64_;
360
361 // FAST types
362 static PredType *NATIVE_INT_FAST8_;
363 static PredType *NATIVE_UINT_FAST8_;
364
365 static PredType *NATIVE_INT_FAST16_;
366 static PredType *NATIVE_UINT_FAST16_;
367
368 static PredType *NATIVE_INT_FAST32_;
369 static PredType *NATIVE_UINT_FAST32_;
370
371 static PredType *NATIVE_INT_FAST64_;
372 static PredType *NATIVE_UINT_FAST64_;
373
374#endif // DOXYGEN_SHOULD_SKIP_THIS
375
376}; // end of PredType
377} // namespace H5
378
379#endif // H5PredType_H
AtomType is a base class, inherited by IntType, FloatType, StrType, and PredType.
Definition H5AtomType.h:27
H5Location is an abstract base class, added in version 1.8.12.
Definition H5Location.h:30
Class PredType holds the definition of all the HDF5 predefined datatypes.
Definition H5PredType.h:27
static const PredType & NATIVE_INT_FAST64
Definition H5PredType.h:201
static const PredType & STD_B64BE
Definition H5PredType.h:82
static const PredType & INTEL_F32
Definition H5PredType.h:112
static const PredType & ALPHA_B8
Definition H5PredType.h:123
static const PredType & NATIVE_INT16
Definition H5PredType.h:171
static const PredType & NATIVE_HBOOL
Definition H5PredType.h:167
static const PredType & NATIVE_UINT32
Definition H5PredType.h:174
static const PredType & INTEL_U64
Definition H5PredType.h:107
static const PredType & NATIVE_UINT_FAST64
Definition H5PredType.h:202
static const PredType & ALPHA_B64
Definition H5PredType.h:126
static const PredType & IEEE_F32LE
Definition H5PredType.h:91
static const PredType & INTEL_B32
Definition H5PredType.h:110
static const PredType & NATIVE_ULLONG
Definition H5PredType.h:155
static const PredType & IEEE_F64LE
Definition H5PredType.h:93
static const PredType & INTEL_U16
Definition H5PredType.h:105
static const PredType & STD_REF_DSETREG
Definition H5PredType.h:85
static const PredType & MIPS_U64
Definition H5PredType.h:137
static const PredType & STD_U16BE
Definition H5PredType.h:70
static const PredType & MIPS_U16
Definition H5PredType.h:135
static const PredType & INTEL_B64
Definition H5PredType.h:111
static const PredType & NATIVE_B8
Definition H5PredType.h:159
static const PredType & MIPS_U8
Definition H5PredType.h:134
static const PredType & NATIVE_B64
Definition H5PredType.h:162
static const PredType & NATIVE_UCHAR
Definition H5PredType.h:147
static const PredType & FORTRAN_S1
Definition H5PredType.h:88
static const PredType & NATIVE_FLOAT
Definition H5PredType.h:156
static const PredType & STD_U64BE
Definition H5PredType.h:74
static const PredType & STD_I64LE
Definition H5PredType.h:67
static const PredType & STD_U64LE
Definition H5PredType.h:75
static const PredType & NATIVE_HERR
Definition H5PredType.h:166
static const PredType & MIPS_B8
Definition H5PredType.h:138
static const PredType & ALPHA_F32
Definition H5PredType.h:127
static const PredType & STD_U32LE
Definition H5PredType.h:73
static const PredType & ALPHA_U16
Definition H5PredType.h:120
static const PredType & MIPS_B32
Definition H5PredType.h:140
static const PredType & MIPS_F32
Definition H5PredType.h:142
static const PredType & INTEL_I64
Definition H5PredType.h:103
static const PredType & MIPS_B16
Definition H5PredType.h:139
static const PredType & NATIVE_LLONG
Definition H5PredType.h:154
static const PredType & NATIVE_INT_FAST8
Definition H5PredType.h:192
static const PredType & INTEL_I16
Definition H5PredType.h:101
static const PredType & NATIVE_UINT_FAST16
Definition H5PredType.h:196
static const PredType & INTEL_B16
Definition H5PredType.h:109
static const PredType & NATIVE_USHORT
Definition H5PredType.h:149
static const PredType & NATIVE_INT
Definition H5PredType.h:150
static const PredType & NATIVE_INT_FAST32
Definition H5PredType.h:198
static const PredType & NATIVE_UINT_FAST8
Definition H5PredType.h:193
static const PredType & NATIVE_INT_LEAST32
Definition H5PredType.h:185
static const PredType & UNIX_D32LE
Definition H5PredType.h:96
static const PredType & UNIX_D64LE
Definition H5PredType.h:98
static const PredType & MIPS_F64
Definition H5PredType.h:143
static const PredType & IEEE_F32BE
Definition H5PredType.h:90
static const PredType & STD_B16BE
Definition H5PredType.h:78
static const PredType & ALPHA_I32
Definition H5PredType.h:117
static const PredType & NATIVE_UINT_LEAST16
Definition H5PredType.h:183
static const PredType & C_S1
Definition H5PredType.h:87
static const PredType & INTEL_U32
Definition H5PredType.h:106
static const PredType & NATIVE_INT64
Definition H5PredType.h:175
static const PredType & MIPS_U32
Definition H5PredType.h:136
static const PredType & ALPHA_I16
Definition H5PredType.h:116
static const PredType & INTEL_U8
Definition H5PredType.h:104
static const PredType & INTEL_I8
Definition H5PredType.h:100
static const PredType & STD_U8BE
Definition H5PredType.h:68
static const PredType & STD_B64LE
Definition H5PredType.h:83
static const PredType & NATIVE_CHAR
Definition H5PredType.h:145
static const PredType & NATIVE_UINT8
Definition H5PredType.h:170
static const PredType & NATIVE_OPAQUE
Definition H5PredType.h:163
void commit(H5Location &loc, const H5std_string &name)
This dummy function do not inherit from DataType - it will throw a DataTypeIException if invoked.
static const PredType & STD_I32LE
Definition H5PredType.h:65
static const PredType & NATIVE_SHORT
Definition H5PredType.h:148
static const PredType & NATIVE_UINT_LEAST8
Definition H5PredType.h:180
static const PredType & NATIVE_UINT
Definition H5PredType.h:151
static const PredType & NATIVE_INT_LEAST8
Definition H5PredType.h:179
static const PredType & NATIVE_UINT_LEAST64
Definition H5PredType.h:189
static const PredType & ALPHA_I8
Definition H5PredType.h:115
static const PredType & NATIVE_UINT16
Definition H5PredType.h:172
static const PredType & STD_I64BE
Definition H5PredType.h:66
static const PredType & NATIVE_INT_LEAST16
Definition H5PredType.h:182
static const PredType & MIPS_I8
Definition H5PredType.h:130
static const PredType & ALPHA_U32
Definition H5PredType.h:121
static const PredType & INTEL_B8
Definition H5PredType.h:108
static const PredType & STD_B32BE
Definition H5PredType.h:80
static const PredType & INTEL_F64
Definition H5PredType.h:113
static const PredType & STD_I8BE
PredType constants.
Definition H5PredType.h:60
static const PredType & STD_I16BE
Definition H5PredType.h:62
static const PredType & STD_B16LE
Definition H5PredType.h:79
static const PredType & NATIVE_DOUBLE
Definition H5PredType.h:157
static const PredType & ALPHA_B32
Definition H5PredType.h:125
static const PredType & UNIX_D32BE
Definition H5PredType.h:95
static const PredType & NATIVE_UINT_LEAST32
Definition H5PredType.h:186
static const PredType & NATIVE_HSSIZE
Definition H5PredType.h:165
static const PredType & NATIVE_INT_FAST16
Definition H5PredType.h:195
virtual H5std_string fromClass() const override
Returns this class name.
Definition H5PredType.h:31
static const PredType & STD_B32LE
Definition H5PredType.h:81
static const PredType & STD_B8BE
Definition H5PredType.h:76
static const PredType & STD_U32BE
Definition H5PredType.h:72
static const PredType & MIPS_I16
Definition H5PredType.h:131
static const PredType & NATIVE_ULONG
Definition H5PredType.h:153
static const PredType & ALPHA_U8
Definition H5PredType.h:119
static const PredType & NATIVE_B32
Definition H5PredType.h:161
static const PredType & NATIVE_LDOUBLE
Definition H5PredType.h:158
static const PredType & ALPHA_U64
Definition H5PredType.h:122
static const PredType & IEEE_F64BE
Definition H5PredType.h:92
static const PredType & NATIVE_HSIZE
Definition H5PredType.h:164
static const PredType & NATIVE_INT_LEAST64
Definition H5PredType.h:188
static const PredType & STD_I16LE
Definition H5PredType.h:63
static const PredType & NATIVE_SCHAR
Definition H5PredType.h:146
static const PredType & NATIVE_INT32
Definition H5PredType.h:173
static const PredType & ALPHA_F64
Definition H5PredType.h:128
static const PredType & MIPS_I64
Definition H5PredType.h:133
static const PredType & UNIX_D64BE
Definition H5PredType.h:97
static const PredType & NATIVE_LONG
Definition H5PredType.h:152
void commit(H5Location &loc, const char *name)
This dummy function do not inherit from DataType - it will throw a DataTypeIException if invoked.
static const PredType & NATIVE_B16
Definition H5PredType.h:160
static const PredType & NATIVE_UINT64
Definition H5PredType.h:176
static const PredType & STD_I32BE
Definition H5PredType.h:64
static const PredType & NATIVE_UINT_FAST32
Definition H5PredType.h:199
static const PredType & MIPS_I32
Definition H5PredType.h:132
static const PredType & ALPHA_B16
Definition H5PredType.h:124
static const PredType & STD_U8LE
Definition H5PredType.h:69
static const PredType & STD_U16LE
Definition H5PredType.h:71
static const PredType & MIPS_B64
Definition H5PredType.h:141
static const PredType & STD_REF_OBJ
Definition H5PredType.h:84
static const PredType & NATIVE_INT8
Definition H5PredType.h:169
static const PredType & STD_I8LE
Definition H5PredType.h:61
static const PredType & STD_B8LE
Definition H5PredType.h:77
bool committed()
This dummy function do not inherit from DataType - it will throw a DataTypeIException if invoked.
static const PredType & ALPHA_I64
Definition H5PredType.h:118
static const PredType & INTEL_I32
Definition H5PredType.h:102
Definition H5AbstractDs.cpp:33


The HDF Group Help Desk:
  Copyright by The HDF Group