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) = TRUE; [ H5P_OBJECT_CREATE is the property list class ] [ returned by H5Pget_class. ] else if H5Pequal (plist_class_id, H5P_DATASET_CREATE) = TRUE; [ H5P_DATASET_CREATE is the property list class. ] else if H5Pequal (plist_class_id, H5P_DATASET_XFER) = TRUE; [ H5P_DATASET_XFER is the property 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 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. |
1.8.15 | Updated the Fortran subroutine. |