Given an object reference, ref , H5R_GET_OBJ_TYPE2 retrieves the type of the referenced object in obj_type . A reference type is the type of reference, either an object reference or a dataset region reference. An object reference points to an HDF5 object while a dataset region reference points to a defined region within a dataset. The referenced object is the object the reference points to. The referenced object type, or the type of the referenced object, is the type of the object that the reference points to. The location identifier, loc_id , is the identifier for either the dataset containing the object reference or the group containing that dataset. Valid reference types, to pass in as ref_type , include the following: H5R_OBJECT | Object reference | H5R_DATASET_REGION | Dataset region reference |
If the application does not already know the object reference type, that can be determined with three preliminary calls: - Call H5D_GET_TYPE on the dataset containing the reference to get a datatype identifier for the dataset’s datatype.
- Using that datatype identifier, H5T_GET_CLASS returns a datatype class.
- If the datatype class is
H5T_REFERENCE , H5T_EQUAL can then be used to determine whether the reference’s datatype is H5T_STD_REF_OBJ or H5T_STD_REF_DSETREG :
- If the datatype is
H5T_STD_REF_OBJ , the reference object type is H5R_OBJECT . - If the datatype is
H5T_STD_REF_DSETREG , the reference object type is H5R_DATASET_REGION .
When the function completes successfully, it returns one of the following valid object type values (defined in H5Opublic.h ): H5O_TYPE_GROUP | Object is a group | H5O_TYPE_DATASET | Object is a dataset | H5O_TYPE_NAMED_DATATYPE | Object is a named datatype |
|