H5Pget_class(hid_t plist
)
H5Pget_class
returns the property list class identifier for the
property list identified by the plist parameter.
Note that H5Pget_class returns a value of
hid_t type, an internal HDF5 identifier,
rather than directly returning a property list class.
That identifier can then be used with either
H5Pequal or
H5Pget_class_name
to determine which predefined HDF5 property list class
H5Pget_class has returned.
A full list of valid predefined property list classes appears
in the description of
H5Pcreate.
Determining the HDF5 property list class name with
H5Pequal requires
a series of H5Pequal calls in an if-else sequence.
An iterative sequence of H5Pequal calls can
compare the identifier returned by H5Pget_class to
members of the list of valid property list class names.
A pseudo-code snippet might read as follows:
plist_class_id = H5Pget_class (dsetA_plist);
if H5Pequal (plist_class_id, H5P_OBJECT_CREATE) = 1; ? (which one?)
if H5Pequal (plist_class_id, H5P_OBJECT_CREATE) = TRUE; ?
[ H5P_OBJECT_CREATE is the propoerty list class ]
[ returned by H5Pget_class. ]
else if H5Pequal (plist_class_id, H5P_DATASET_CREATE) = TRUE;
[ H5P_DATASET_CREATE is the propoerty list class. ]
else if H5Pequal (plist_class_id, H5P_DATASET_XFER) = TRUE;
[ H5P_DATASET_XFER is the propoerty list class. ]
.
. [ Continuing the iteration until a match is found. ]
.
H5Pget_class_name
returns the property list class name directly as a string:
plist_class_id = H5Pget_class (dsetA_plist);
plist_class_name = H5Pget_class_name (plist_class_id)
Note that frequent use of H5Pget_class_name can
become a performance problem in a high-performance environment.
The H5Pequal approach is generally much faster.
hid_t plist |
IN: Identifier of property list to query. |
SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: classtype ! The type of the property list
! to be created
! Possible values are:
! H5P_NO_CLASS
! H5P_FILE_CREATE_F
! H5P_FILE_ACCESS_F
! H5P_DATASET_CREATE_F
! H5P_DATASET_XFER_F
! H5P_FILE_MOUNT_F
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5pget_class_f
| Release | Change |
| 1.6.0 | Return type changed in this release. |