Correct: h5:pt_t
descriptor hides something similar you posted: it will extend the underlying dataset when required, and does the correct selection for you.
Most popular linear algebra packages are supported, as well as std::vector<T>
with compiler assisted reflection arbitrary deep POD types can be persisted without you needing to write additional code.
The zero copy mechanism minimises unnecessary IO, data transfer. Since all linear algebra systems with BLAS/LAPACK behave similarly grabbing the RW pointer to the containers is trivial.
Of course the mechanism works with typed pointers as well.
H5CPP is tested on Intel DPC++ v2021(beta), Intel 19.1.0.166, g++-7, g++-8, g++-9, clang++-6.0, clang++-7, clang++-8, clang++-9, clang++-10
PGI is coming soon.
steve