File indexing completed on 2025-04-19 08:55:33
0001 #pragma once
0002
0003 #include <H5Dpublic.h>
0004 #include <H5Ipublic.h>
0005
0006 #include <highfive/H5Exception.hpp>
0007
0008 namespace HighFive {
0009 namespace detail {
0010
0011 inline hid_t h5g_create2(hid_t loc_id,
0012 const char* name,
0013 hid_t lcpl_id,
0014 hid_t gcpl_id,
0015 hid_t gapl_id) {
0016 hid_t group_id = H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id);
0017 if (group_id == H5I_INVALID_HID) {
0018 HDF5ErrMapper::ToException<GroupException>(std::string("Unable to create the group \"") +
0019 name + "\":");
0020 }
0021
0022 return group_id;
0023 }
0024
0025 inline hid_t h5g_open2(hid_t loc_id, const char* name, hid_t gapl_id) {
0026 hid_t group_id = H5Gopen2(loc_id, name, gapl_id);
0027 if (group_id == H5I_INVALID_HID) {
0028 HDF5ErrMapper::ToException<GroupException>(std::string("Unable to open the group \"") +
0029 name + "\":");
0030 }
0031 return group_id;
0032 }
0033
0034 inline herr_t h5g_get_num_objs(hid_t loc_id, hsize_t* num_objs) {
0035 herr_t err = H5Gget_num_objs(loc_id, num_objs);
0036 if (err < 0) {
0037 HDF5ErrMapper::ToException<GroupException>(
0038 std::string("Unable to count objects in existing group or file"));
0039 }
0040
0041 return err;
0042 }
0043
0044
0045 }
0046 }