32HDFData::HDFData( hid_t node_id ) :
35 m_dataspace_id = H5Dget_space(m_node_id);
36 hssize_t n_points = H5Sget_simple_extent_npoints(m_dataspace_id);
38 throw std::runtime_error(
"HDF5 error: failed to get dataset size!");
40 m_length = (size_t)n_points;
50size_t HDFData::length( )
const {
55void HDFData::getDoubles(nf_Buffer<double> &buffer)
57 buffer.resize(m_length);
58 H5Dread(m_node_id, H5T_NATIVE_DOUBLE, H5S_ALL, m_dataspace_id, H5P_DEFAULT, buffer.data());
61void HDFData::getInts(nf_Buffer<int> &buffer)
63 buffer.resize(m_length);
64 H5Dread(m_node_id, H5T_NATIVE_INT, H5S_ALL, m_dataspace_id, H5P_DEFAULT, buffer.data());