Clean up interfaces in hdf5_interface.h/cpp
There is a considerable amount of code duplication and code smell in these files. A refactoring could probably clean them up quite a bit. Not super important, but if someone is looking for a relatively self-contained task to take on, this could make a good one.
The HDF group does provide a C++ library https://portal.hdfgroup.org/display/HDF5/HDF5+1.12+CPP+Reference+Manual. I imagine this would involve a more substantial refactoring, but it looked promising after some investigation
Yes, that would be one way to go. However, I believe this requires that HDF5 is compiled specifically with C++ support, which is not guaranteed on a given system. I personally like just relying on the C API alone since that one is always guaranteed to be there. We had the same issue back in the Fortran days -- having HDF5 installed didn't necessarily mean that Fortran support was present unless it was compiled with --enable-fortran.