1#ifndef GRID_SERIALISATION_HDF5_TYPE_H
2#define GRID_SERIALISATION_HDF5_TYPE_H
14#define HDF5_NATIVE_TYPE(predType, cType)\
19 static inline const H5NS::DataType & type(void)\
21 return H5NS::PredType::predType;\
23 static constexpr bool isNative = true;\
26#define DEFINE_HDF5_NATIVE_TYPES \
27HDF5_NATIVE_TYPE(NATIVE_B8, bool);\
28HDF5_NATIVE_TYPE(NATIVE_CHAR, char);\
29HDF5_NATIVE_TYPE(NATIVE_SCHAR, signed char);\
30HDF5_NATIVE_TYPE(NATIVE_UCHAR, unsigned char);\
31HDF5_NATIVE_TYPE(NATIVE_SHORT, short);\
32HDF5_NATIVE_TYPE(NATIVE_USHORT, unsigned short);\
33HDF5_NATIVE_TYPE(NATIVE_INT, int);\
34HDF5_NATIVE_TYPE(NATIVE_UINT, unsigned int);\
35HDF5_NATIVE_TYPE(NATIVE_LONG, long);\
36HDF5_NATIVE_TYPE(NATIVE_ULONG, unsigned long);\
37HDF5_NATIVE_TYPE(NATIVE_LLONG, long long);\
38HDF5_NATIVE_TYPE(NATIVE_ULLONG, unsigned long long);\
39HDF5_NATIVE_TYPE(NATIVE_FLOAT, float);\
40HDF5_NATIVE_TYPE(NATIVE_DOUBLE, double);\
41HDF5_NATIVE_TYPE(NATIVE_LDOUBLE, long double);
57 static inline const H5NS::DataType &
type(
void)
61 typePtr_.reset(
new H5NS::CompType(
sizeof(Grid::complex<R>)));
70 static std::unique_ptr<H5NS::CompType>
typePtr_;
78#undef HDF5_NATIVE_TYPE
std::complex< T > complex
static std::unique_ptr< H5NS::CompType > typePtr_
static const H5NS::DataType & type(void)
static constexpr bool isNative
static constexpr bool isNative
std::unique_ptr< H5NS::CompType > Hdf5Type< Grid::complex< R > >::typePtr_