Template-based C++ wrapper for HDF5 library