Fixed HDFFV-10458 partially
Description:
Added wrappers for H5Oget_info_by_idx2.
// Returns information about an HDF5 object, given its index.
void getInfo(const char* grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
void getInfo(const H5std_string& grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
Platforms tested:
Linux/64 (jelly)
Linux/32 (jam)
Darwin (osx1010test)
This commit is contained in:
@@ -228,10 +228,17 @@ int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_dat
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::getInfo
|
||||
///\brief Returns information about an HDF5 object.
|
||||
///\brief Retrieves information about an HDF5 object.
|
||||
///\param objinfo - OUT: Struct containing the object info
|
||||
///\param fields - IN: Indicates the group of information to be retrieved
|
||||
/// - default to H5O_INFO_BASIC
|
||||
///\par Description
|
||||
/// Valid values of \a fields are as follows:
|
||||
/// \li \c H5O_INFO_BASIC (default)
|
||||
/// \li \c H5O_INFO_TIME
|
||||
/// \li \c H5O_INFO_NUM_ATTRS
|
||||
/// \li \c H5O_INFO_HDR
|
||||
/// \li \c H5O_INFO_META_SIZE
|
||||
/// \li \c H5O_INFO_ALL
|
||||
// July, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::getInfo(H5O_info_t& objinfo, unsigned fields) const
|
||||
@@ -242,17 +249,25 @@ void H5Object::getInfo(H5O_info_t& objinfo, unsigned fields) const
|
||||
|
||||
// Throw exception if C API returns failure
|
||||
if (ret_value < 0)
|
||||
throwException(inMemFunc("getObjinfo"), "H5Oget_info2 failed");
|
||||
throwException(inMemFunc("getInfo"), "H5Oget_info2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::getInfo
|
||||
///\brief Returns information about an HDF5 object given its name.
|
||||
///\brief Retrieves information about an HDF5 object given its name.
|
||||
///\param name - IN: Name of the object to be queried - \c char *
|
||||
///\param objinfo - OUT: Struct containing the object info
|
||||
///\param fields - IN: Indicates the group of information to be retrieved
|
||||
/// - default to H5O_INFO_BASIC
|
||||
///\param lapl - IN: Link access property list
|
||||
///\par Description
|
||||
/// Valid values of \a fields are as follows:
|
||||
/// \li \c H5O_INFO_BASIC (default)
|
||||
/// \li \c H5O_INFO_TIME
|
||||
/// \li \c H5O_INFO_NUM_ATTRS
|
||||
/// \li \c H5O_INFO_HDR
|
||||
/// \li \c H5O_INFO_META_SIZE
|
||||
/// \li \c H5O_INFO_ALL
|
||||
// July, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::getInfo(const char* name, H5O_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
|
||||
@@ -262,7 +277,7 @@ void H5Object::getInfo(const char* name, H5O_info_t& objinfo, unsigned fields, c
|
||||
|
||||
// Throw exception if C API returns failure
|
||||
if (ret_value < 0)
|
||||
throwException(inMemFunc("getObjinfo"), "H5Oget_info_by_name2 failed");
|
||||
throwException(inMemFunc("getInfo"), "H5Oget_info_by_name2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -278,13 +293,61 @@ void H5Object::getInfo(const char* name, H5O_info_t& objinfo, unsigned fields, c
|
||||
// July, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::getInfo(const H5std_string& name, H5O_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
|
||||
{
|
||||
getInfo(name.c_str(), objinfo, fields, lapl);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::getInfo
|
||||
///\brief Retrieves information about an HDF5 object given its index.
|
||||
///\param grp_name - IN: Group name where the object belongs - \c char *
|
||||
///\param idx_type - IN: Type of index
|
||||
///\param order - IN: Order to traverse
|
||||
///\param idx - IN: Object position
|
||||
///\param objinfo - OUT: Struct containing the object info
|
||||
///\param fields - IN: Indicates the group of information to be retrieved
|
||||
/// - default to H5O_INFO_BASIC
|
||||
///\param lapl - IN: Link access property list
|
||||
///\par Description
|
||||
/// Valid values of \a fields are as follows:
|
||||
/// \li \c H5O_INFO_BASIC (default)
|
||||
/// \li \c H5O_INFO_TIME
|
||||
/// \li \c H5O_INFO_NUM_ATTRS
|
||||
/// \li \c H5O_INFO_HDR
|
||||
/// \li \c H5O_INFO_META_SIZE
|
||||
/// \li \c H5O_INFO_ALL
|
||||
// July, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::getInfo(const char* grp_name, H5_index_t idx_type,
|
||||
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields,
|
||||
const LinkAccPropList& lapl) const
|
||||
{
|
||||
// Use C API to get information of the object
|
||||
herr_t ret_value = H5Oget_info_by_name2(getId(), name.c_str(), &objinfo, fields, lapl.getId());
|
||||
herr_t ret_value = H5Oget_info_by_idx2(getId(), grp_name, idx_type, order,
|
||||
idx, &objinfo, fields, lapl.getId());
|
||||
|
||||
// Throw exception if C API returns failure
|
||||
if (ret_value < 0)
|
||||
throwException(inMemFunc("getObjinfo"), "H5Oget_info_by_name2 failed");
|
||||
throwException(inMemFunc("getInfo"), "H5Oget_info_by_idx2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::getInfo
|
||||
///\brief This is an overloaded member function, provided for convenience.
|
||||
/// It differs from the above function in that it takes
|
||||
/// a reference to an \c H5std_string for \a name.
|
||||
///\param name - IN: Name of the object to be queried - \c H5std_string
|
||||
///\param objinfo - OUT: Struct containing the object info
|
||||
///\param fields - IN: Indicates a group of information to be retrieved
|
||||
/// - default to H5O_INFO_BASIC
|
||||
///\param lapl - IN: Link access property list
|
||||
// July, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::getInfo(const H5std_string& grp_name, H5_index_t idx_type,
|
||||
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields,
|
||||
const LinkAccPropList& lapl) const
|
||||
{
|
||||
getInfo(grp_name.c_str(), idx_type, order, idx, objinfo, fields, lapl);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user