26#ifndef LIBH5_FORMAT_HPP
27#define LIBH5_FORMAT_HPP
50 struct hdf5_format_impl {
51 static std::string invoke() {
return T::hdf5_format(); }
54#define H5_SPECIALIZE_FORMAT2(X, Y) \
57 struct hdf5_format_impl<X> { \
58 static std::string invoke() { return H5_AS_STRING(Y); } \
61#define H5_SPECIALIZE_FORMAT(X) H5_SPECIALIZE_FORMAT2(X, X)
63 H5_SPECIALIZE_FORMAT(
bool);
64 H5_SPECIALIZE_FORMAT(
int);
65 H5_SPECIALIZE_FORMAT(
long);
66 H5_SPECIALIZE_FORMAT(
long long);
67 H5_SPECIALIZE_FORMAT(
unsigned int);
68 H5_SPECIALIZE_FORMAT(
unsigned long);
69 H5_SPECIALIZE_FORMAT(
unsigned long long);
70 H5_SPECIALIZE_FORMAT(
float);
71 H5_SPECIALIZE_FORMAT(
double);
72 H5_SPECIALIZE_FORMAT(
long double);
73 H5_SPECIALIZE_FORMAT2(std::complex<double>, complex);
112 template <
typename T>
163 template <
typename T>
A handle to an HDF5 group.
Provides a handle to an HDF5 group and various methods to simplify the creation/opening of subgroups,...
void h5_write_attribute(object obj, std::string const &name, T const &x) H5_REQUIRES(std
Write a scalar to an HDF5 attribute.
Macros used in the h5 library.
Provides functions to read/write std::string, char* and h5::char_buf objects from/to HDF5.