Features
Header-only C++17 template library.
High-level front-end to the C API of the HDF5 library.
Type support:
all numeric types:
(u)int#_t,float,double,long double.std::complex<>with any of the types above.CUDA-style POD-structs with
x,yorx,y,zmembers as atomic type, such asfloat3ordouble2. These work with any of the types above. Inh5ppthese go by the nameScalar2<>andScalar3<>.Contiguous containers with a
.data()member, such asstd::vector<>.Raw C-style arrays or pointer to buffer + dimensions.
Eigen types such as
Eigen::Matrix<>,Eigen::Array<>andEigen::Tensor<>, with automatic conversion to/from row-major storageText types
std::string,chararrays, andstd::vector<std::string>.Structs as HDF5 Compound types (example)
Structs as HDF5 Tables (with user-defined compound HDF5 types for entries)
Ragged “variable-length” data in HDF5 Table columns using
h5pp::varr_t<>andh5pp::vstr_t.
Modern CMake installation of
h5ppand (opt-in) installation of dependencies.Multi-platform: Linux, Windows, OSX. (Developed under Linux).