1#ifndef __H5_DATATYPE_HPP
2#define __H5_DATATYPE_HPP
29 H5DataType(hid_t FileLocation_id,
const char*name);
37 H5DataType(hid_t CompoundType,
int member_index);
43 H5DataType(hid_t base_type_id,
unsigned rank,
const hsize_t dims[] );
46 bool equal(hid_t)
const;
48 bool operator==(hid_t
id)
const
53 bool operator!=(hid_t
id)
const
58 bool commit(hid_t Location,
const char*name)
const;
60 bool commit(hid_t Location,
const std::string&name)
const
62 return commit( Location, name.c_str());
71static std::string getMemberName(hid_t
id,
unsigned field_idx );
73 std::string getMemberName(
unsigned field_idx )
const
75 return getMemberName(getHid(), field_idx );
78 int get_member_index(
const char *name)
const;
80 size_t get_size()
const;
82 hid_t get_class()
const;
84 htri_t detect_class( H5T_class_t dtype_class )
const;
86 bool detectClass( H5T_class_t dtype_class )
const;
90 return get_class() == H5T_ARRAY;
93 int get_array_ndims( )
const;
94 int get_array_dims ( hsize_t dims[] )
const;
99 hid_t
get_native_type( H5T_direction_t direction = H5T_DIR_ASCEND )
const;
104static std::string get_description(hid_t type_id);
105 std::string get_description()
const;
112static bool is_committed(hid_t LocationID,
const char*name);
114static bool is_committed(hid_t LocationID,
const std::string&s)
121template <
class Type>
static hid_t getH5TypeID();
123template <>
inline hid_t getH5TypeID<double>() {
return H5T_NATIVE_DOUBLE; }
124template <>
inline hid_t getH5TypeID<float>() {
return H5T_NATIVE_FLOAT; }
125template <>
inline hid_t getH5TypeID<unsigned short>() {
return H5T_NATIVE_USHORT; }
126template <>
inline hid_t getH5TypeID<unsigned long long>() {
return H5T_NATIVE_ULLONG; }
127template <>
inline hid_t getH5TypeID<int>() {
return H5T_NATIVE_INT; }
128template <>
inline hid_t getH5TypeID<unsigned char>() {
return H5T_NATIVE_UCHAR; }
constexpr bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred)
Definition H++/H5DataType.hpp:10
int NumberOfMembers() const
Retrieves the number of elements in a compound or enumeration datatype.
Definition H++/H5DataType.cpp:90
static bool is_committed(hid_t LocationID, const char *name)
Check whether the given name in the given LocationID is a named datatype.
Definition H++/H5DataType.cpp:147
hid_t get_native_type(H5T_direction_t direction=H5T_DIR_ASCEND) const
https://support.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-GetNativeType
Definition H++/H5DataType.cpp:136
Definition H++/H5Dataset.hpp:30
A group within an HDF5 file.
Definition H++/H5Group.hpp:18
Base class for groups, datasets and named datatypes.
Definition H++/H5Object.hpp:122