Back to home page

EIC code displayed by LXR

 
 

    


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 }  // namespace detail
0046 }  // namespace HighFive