9 #ifndef H5DATATYPE_MISC_HPP
10 #define H5DATATYPE_MISC_HPP
15 #include "../H5DataType.hpp"
16 #include "../H5Exception.hpp"
18 #include <H5Tpublic.h>
25 return (H5Tequal(
_hid, other.
_hid) > 0);
29 return !(*
this == other);
35 _hid = H5Tcopy(H5T_NATIVE_CHAR);
40 _hid = H5Tcopy(H5T_NATIVE_CHAR);
45 _hid = H5Tcopy(H5T_NATIVE_UCHAR);
51 _hid = H5Tcopy(H5T_NATIVE_SHORT);
56 _hid = H5Tcopy(H5T_NATIVE_USHORT);
62 _hid = H5Tcopy(H5T_NATIVE_INT);
67 _hid = H5Tcopy(H5T_NATIVE_UINT);
73 _hid = H5Tcopy(H5T_NATIVE_LONG);
78 _hid = H5Tcopy(H5T_NATIVE_ULONG);
84 _hid = H5Tcopy(H5T_NATIVE_LLONG);
89 _hid = H5Tcopy(H5T_NATIVE_ULLONG);
95 _hid = H5Tcopy(H5T_NATIVE_FLOAT);
100 _hid = H5Tcopy(H5T_NATIVE_DOUBLE);
106 _hid = H5Tcopy(H5T_NATIVE_HBOOL);
112 _hid = H5Tcopy(H5T_C_S1);
113 if (H5Tset_size(_hid, H5T_VARIABLE) < 0) {
114 HDF5ErrMapper::ToException<DataTypeException>(
115 "Unable to define datatype size to variable");
118 H5Tset_cset(_hid, H5T_CSET_UTF8);
124 static struct ComplexType :
public Object
128 _hid = H5Tcreate(H5T_COMPOUND,
sizeof(std::complex<double>));
130 H5Tinsert(_hid,
"r", 0, H5T_NATIVE_DOUBLE);
131 H5Tinsert(_hid,
"i",
sizeof(
double), H5T_NATIVE_DOUBLE);
134 _hid = H5Tcopy(complexType.getId());
142 #endif // H5DATATYPE_MISC_HPP