Greetings,
I would like to introduce
H5CPP an easy to use persistence framework for modern C++, supporting popular linear algebra systems such as Armadillo, Eigen3, Blaze, Blitz and many more, as well as raw pointers, arbitrary POD types and std::vector-s.
When used with the provided
LLVM based reflection tool: the h5cpp compiler, it provides similar level reflection/persistence as used in other popular languages such as Java, Python, ... but at the speed/throughput of C++. The generated header code has no dependency, may be compiled with arbitrary C++14 compiler.
Header only CRUD like operators work with serial or parallel version of HDF5 allowing you to use MPIIO | POSIX IO | KITA (amazon S3) IO with the same tuned IO calls. It's custom built h5::append packet table implementation is more than 300X faster than of HDF5 CAPI HL implementation -- near bare metal speed --, based on the most recent direct chunk IO calls.
best wishes:
steven