diff options
Diffstat (limited to 'fortran/src/H5Rff.F90')
-rw-r--r-- | fortran/src/H5Rff.F90 | 734 |
1 files changed, 288 insertions, 446 deletions
diff --git a/fortran/src/H5Rff.F90 b/fortran/src/H5Rff.F90 index a25cf10..d373158 100644 --- a/fortran/src/H5Rff.F90 +++ b/fortran/src/H5Rff.F90 @@ -1,4 +1,13 @@ -!****h* ROBODoc/H5R +!> @defgroup FH5R Fortran References (H5R) Interface +!! +!! @see H5R, C-API +!! +!! @see @ref H5R_UG, User Guide +!! + +!> @ingroup FH5R +!! +!! @brief This module contains Fortran interfaces for H5R functions. ! ! NAME ! MODULE H5R @@ -36,7 +45,6 @@ ! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory. ! This is needed for Windows based operating systems. ! -!***** MODULE H5R USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_SIGNED_CHAR @@ -56,45 +64,44 @@ MODULE H5R ! END TYPE ! + PRIVATE h5rget_object_type_obj_f PRIVATE h5rget_region_region_f, h5rget_region_ptr_f PRIVATE h5rcreate_object_f, h5rcreate_region_f, h5rcreate_ptr_f PRIVATE h5rdereference_object_f, h5rdereference_region_f, h5rdereference_ptr_f PRIVATE h5rget_name_object_f, h5rget_name_region_f, h5rget_name_ptr_f +!> @brief hdset_reg_ref_t_f03 C compatible reference TYPE :: hdset_reg_ref_t_f03 - INTEGER(C_SIGNED_CHAR), DIMENSION(1:H5R_DSET_REG_REF_BUF_SIZE_F) :: ref + INTEGER(C_SIGNED_CHAR), DIMENSION(1:H5R_DSET_REG_REF_BUF_SIZE_F) :: ref END TYPE hdset_reg_ref_t_f03 - INTERFACE h5rget_region_f + INTERFACE h5rget_object_type_f + MODULE PROCEDURE h5rget_object_type_obj_f + END INTERFACE - MODULE PROCEDURE h5rget_region_region_f ! obsolete - MODULE PROCEDURE h5rget_region_ptr_f ! F2003 +#ifndef H5_DOXYGEN_FORTRAN + INTERFACE h5rget_region_f + MODULE PROCEDURE h5rget_region_ptr_f ! F2003 + MODULE PROCEDURE h5rget_region_region_f ! obsolete END INTERFACE - INTERFACE h5rcreate_f - + MODULE PROCEDURE h5rcreate_ptr_f ! F2003 MODULE PROCEDURE h5rcreate_object_f ! obsolete MODULE PROCEDURE h5rcreate_region_f ! obsolete - MODULE PROCEDURE h5rcreate_ptr_f ! F2003 - END INTERFACE INTERFACE h5rdereference_f - + MODULE PROCEDURE h5rdereference_ptr_f ! F2003 MODULE PROCEDURE h5rdereference_object_f ! obsolete MODULE PROCEDURE h5rdereference_region_f ! obsolete - MODULE PROCEDURE h5rdereference_ptr_f ! F2003 - END INTERFACE INTERFACE h5rget_name_f - + MODULE PROCEDURE h5rget_name_ptr_f ! F2003 MODULE PROCEDURE h5rget_name_object_f ! obsolete MODULE PROCEDURE h5rget_name_region_f ! obsolete - MODULE PROCEDURE h5rget_name_ptr_f ! F2003 - END INTERFACE INTERFACE @@ -151,54 +158,37 @@ MODULE H5R INTEGER(HID_T), INTENT(OUT) :: space_id END FUNCTION h5rget_region_ptr_c END INTERFACE - +#endif CONTAINS -!****s* H5R/h5rget_object_type_f -! -! NAME -! h5rget_object_type_f -! -! PURPOSE -! Retrieves the type of object that an object reference points to. -! -! INPUTS -! dset_id - identifier of the dataset containing -! reference to the objects -! ref - reference to open -! OUTPUTS -! obj_type - object_type, possible values: -! H5G_UNKNOWN_F -! H5G_GROUP_F -! H5G_DATASET_F -! H5G_TYPE_F -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rget_object_type_f -! subroutine. -! SOURCE - SUBROUTINE h5rget_object_type_f(dset_id, ref, obj_type, hdferr) +!> +!! \ingroup FH5R +!! +!! \brief Retrieves the type of object that an object reference points to. +!! +!! \note \fortran_obsolete +!! +!! \param dset_id Identifier of the dataset containing reference to the objects. +!! \param ref Reference to open. +!! \param obj_type Object_type, possible values: +!! \li H5G_UNKNOWN_F +!! \li H5G_GROUP_F +!! \li H5G_DATASET_F +!! \li H5G_TYPE_F +!! \param hdferr \fortran_error +!! +#ifdef H5_DOXYGEN_FORTRAN + SUBROUTINE h5rget_object_type_f(& +#else + SUBROUTINE h5rget_object_type_obj_f(& +#endif + dset_id, ref, obj_type, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference - INTEGER, INTENT(OUT) :: obj_type ! Object type - ! H5G_UNKNOWN_F - ! H5G_GROUP_F - ! H5G_DATASET_F - ! H5G_TYPE_F - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: dset_id + TYPE(hobj_ref_t_f), INTENT(IN) :: ref + INTEGER, INTENT(OUT) :: obj_type + INTEGER, INTENT(OUT) :: hdferr INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference INTERFACE @@ -214,44 +204,32 @@ CONTAINS ref_f = ref%ref hdferr = h5rget_object_type_obj_c(dset_id, ref_f, obj_type ) +#ifdef H5_DOXYGEN_FORTRAN END SUBROUTINE h5rget_object_type_f +#else + END SUBROUTINE h5rget_object_type_obj_f +#endif + +!> +!! \ingroup FH5R +!! +!! \brief Retrieves a dataspace with the specified region selected. +!! +!! \note \fortran_obsolete +!! +!! \param dset_id Identifier of the dataset containing reference to the regions. +!! \param ref Reference to open. +!! \param space_id Dataspace identifier. +!! \param hdferr \fortran_error +!! +SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr) - -!****s* H5R/h5rget_region_region_f -! -! NAME -! h5rget_region_region_f -! -! PURPOSE -! Retrieves a dataspace with the specified region selected -! -! INPUTS -! dset_id - identifier of the dataset containing -! reference to the regions -! ref - reference to open -! OUTPUTS -! space_id - dataspace identifier -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rget_region_f subroutine. -! -! SOURCE - SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference - INTEGER(HID_T), INTENT(OUT) :: space_id ! Space identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: dset_id + TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref + INTEGER(HID_T), INTENT(OUT) :: space_id + INTEGER, INTENT(OUT) :: hdferr + INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference INTERFACE @@ -268,80 +246,57 @@ CONTAINS hdferr = h5rget_region_region_c(dset_id, ref_f, space_id ) END SUBROUTINE h5rget_region_region_f - -!****s* H5R/h5rget_region_ptr_f -! -! NAME -! h5rget_region_ptr_f -! -! PURPOSE -! Retrieves a dataspace with the specified region -! selected using pointer -! -! INPUTS -! dset_id - identifier of the dataset containing -! reference to the regions -! ref - reference to open -! OUTPUTS -! space_id - dataspace identifier -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! M. Scot Breitenfeld -! August 4, 2012 -! -! NOTES -! This is a module procedure for the h5rget_region_f subroutine. -! -! SOURCE - SUBROUTINE h5rget_region_ptr_f(dset_id, ref, space_id, hdferr) +!> +!! \ingroup FH5R +!! +!! \brief Retrieves a dataspace with the specified region selected using pointer. +!! +!! \note \fortran_approved +!! +!! \param dset_id Identifier of the dataset containing reference to the regions. +!! \param ref Reference to open. +!! \param space_id Dataspace identifier. +!! \param hdferr \fortran_error +!! +#ifdef H5_DOXYGEN_FORTRAN + SUBROUTINE h5rget_region_f(& +#else + SUBROUTINE h5rget_region_ptr_f(& +#endif + dset_id, ref, space_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - TYPE(C_PTR), INTENT(IN) :: ref ! Dataset region reference - INTEGER(HID_T), INTENT(OUT) :: space_id ! Space identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: dset_id + TYPE(C_PTR), INTENT(IN) :: ref + INTEGER(HID_T), INTENT(OUT) :: space_id + INTEGER, INTENT(OUT) :: hdferr - hdferr = h5rget_region_ptr_c(dset_id, ref, space_id ) + hdferr = h5rget_region_ptr_c(dset_id, ref, space_id) +#ifdef H5_DOXYGEN_FORTRAN + END SUBROUTINE h5rget_region_f +#else END SUBROUTINE h5rget_region_ptr_f - - -!****s* H5R (F03)/h5rcreate_object_f -! -! NAME -! h5rcreate_object_f -! -! PURPOSE -! Creates reference to the object -! -! Inputs: -! loc_id - location identifier -! name - name of the object at the specified location -! Outputs: -! ref - reference to the specified object -! hdferr - returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rcreate_f subroutine. -! -! Signature: +#endif + +!> +!! \ingroup FH5R +!! +!! \brief Creates reference to the object. +!! +!! \note \fortran_obsolete +!! +!! \param loc_id Location identifier. +!! \param name Name of the object at the specified location. +!! \param ref Reference to the specified object. +!! \param hdferr \fortran_error +!! SUBROUTINE h5rcreate_object_f(loc_id, name, ref, hdferr) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location specified - ! by loc_id identifier - TYPE(hobj_ref_t_f), INTENT(INOUT), TARGET :: ref ! Object reference - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(hobj_ref_t_f), INTENT(INOUT), TARGET :: ref + INTEGER, INTENT(OUT) :: hdferr INTEGER :: namelen ! Name length TYPE(C_PTR) :: f_ptr @@ -352,44 +307,26 @@ CONTAINS hdferr = h5rcreate_ptr_c(f_ptr, loc_id, name, namelen, INT(0), INT(-1,HID_T)) END SUBROUTINE h5rcreate_object_f - -!****s* H5R (F90)/h5rcreate_region_f -! -! NAME -! h5rcreate_region_f -! -! PURPOSE -! Creates reference to the dataset region -! -! INPUTS -! loc_id - location identifier -! name - name of the dataset at the specified location -! space_id - dataspace identifier that describes selected region -! OUTPUTS -! ref - reference to the dataset region -! hdferr - returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rcreate_f subroutine. -! -! SOURCE +!> +!! \ingroup FH5R +!! +!! \brief Creates reference to the dataset region +!! +!! \note \fortran_obsolete +!! +!! \param loc_id Location identifier. +!! \param name Name of the dataset at the specified location. +!! \param space_id Dataspace identifier that describes selected region. +!! \param ref Reference to the dataset region. +!! \param hdferr \fortran_error +!! SUBROUTINE h5rcreate_region_f(loc_id, name, space_id, ref, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location specified - ! by loc_id identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataset's dataspace identifier - TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref ! Dataset region reference - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER(HID_T), INTENT(IN) :: space_id + TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref + INTEGER, INTENT(OUT) :: hdferr INTEGER :: namelen ! Name length INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference @@ -413,46 +350,36 @@ CONTAINS END SUBROUTINE h5rcreate_region_f -!****s* H5R (F03)/h5rcreate_ptr_f -! -! NAME -! h5rcreate_ptr_f -! -! PURPOSE -! Creates a reference. -! -! Inputs: -! loc_id - location identifier -! name - name of the dataset at the specified location -! ref_type - type of reference: -! H5R_OBJECT -! H5T_STD_REF_DSETREG -! Outputs: -! ref - reference created by the function call. -! hdferr - returns 0 if successful and -1 if fails. -! OPTIONAL -! space_id - dataspace identifier that describes selected region -! -! AUTHOR -! M. Scot Breitenfeld -! June 20, 2008 -! -! NOTES -! This is a module procedure for the h5rcreate_f -! subroutine where the output is a pointer. -! -! Signature: - SUBROUTINE h5rcreate_ptr_f(loc_id, name, ref_type, ref, hdferr, space_id) +!> +!! \ingroup FH5R +!! +!! \brief Creates a reference. +!! +!! \note \fortran_approved +!! +!! \param loc_id Location identifier. +!! \param name Name of the dataset at the specified location. +!! \param ref_type Type of reference: +!! \li H5R_OBJECT_F +!! \li H5T_STD_REF_DSETREG_F +!! \param ref Reference created by the function call. +!! \param hdferr \fortran_error +!! \param space_id Dataspace identifier that describes selected region. +!! +#ifdef H5_DOXYGEN_FORTRAN + SUBROUTINE h5rcreate_f(& +#else + SUBROUTINE h5rcreate_ptr_f(& +#endif + loc_id, name, ref_type, ref, hdferr, space_id) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location specified - ! by loc_id identifier - INTEGER, INTENT(IN) :: ref_type ! type of reference - TYPE(C_PTR), INTENT(INOUT) :: ref ! Reference created by the function call - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), INTENT(IN), OPTIONAL :: space_id ! Dataset's dataspace identifier -!***** + INTEGER(HID_T), INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: ref_type + TYPE(C_PTR), INTENT(INOUT) :: ref + INTEGER, INTENT(OUT) :: hdferr + INTEGER(HID_T), INTENT(IN), OPTIONAL :: space_id INTEGER :: namelen ! Name length INTEGER(HID_T) :: space_id_c @@ -461,86 +388,56 @@ CONTAINS IF(PRESENT(space_id)) space_id_c = space_id hdferr = h5rcreate_ptr_c(ref, loc_id, name, namelen, ref_type, space_id_c) +#ifdef H5_DOXYGEN_FORTRAN + END SUBROUTINE h5rcreate_f +#else END SUBROUTINE h5rcreate_ptr_f -!****s* H5R (F03)/h5rdereference_object_f -! -! NAME -! h5rdereference_object_f -! -! PURPOSE -! Opens the HDF5 object referenced -! -! Inputs: -! dset_id - identifier of the dataset containing -! reference -! ref - reference to open -! Outputs: -! obj_id - object_identifier -! hdferr - returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rdereference_f subroutine. -! -! Signature: +#endif +!> +!! \ingroup FH5R +!! +!! \brief Opens the HDF5 object referenced. +!! +!! \note \fortran_obsolete +!! +!! \param obj_id Identifier of the dataset containing reference. +!! \param ref Reference to open. +!! \param ref_obj_id Object_identifier. +!! \param hdferr \fortran_error +!! SUBROUTINE h5rdereference_object_f(obj_id, ref, ref_obj_id, hdferr) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Dataset identifier - TYPE(hobj_ref_t_f), INTENT(IN), TARGET :: ref ! Object reference - INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Object identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: obj_id + TYPE(hobj_ref_t_f), INTENT(IN), TARGET :: ref + INTEGER(HID_T), INTENT(OUT) :: ref_obj_id + INTEGER, INTENT(OUT) :: hdferr TYPE(C_PTR) :: f_ptr f_ptr = C_LOC(ref) hdferr = h5rdereference_ptr_c(obj_id, 0, f_ptr, ref_obj_id) END SUBROUTINE h5rdereference_object_f -!****s* H5R (F03)/h5rdereference_region_f -! -! NAME -! h5rdereference_region_f -! -! PURPOSE -! Opens the dataset region -! -! Inputs: -! dset_id - identifier of the dataset containing -! reference to the regions -! ref - reference to open -! Outputs: -! obj_id - dataspace identifier -! hdferr - returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! NOTES -! This is a module procedure for the h5rdereference_f subroutine. -! -! Signature: + +!> +!! \ingroup FH5R +!! +!! \brief Opens the dataset region. +!! +!! \note \fortran_obsolete +!! +!! \param obj_id Object identifier. +!! \param ref Reference to open. +!! \param ref_obj_id Identifier of the object containing reference to the regions. +!! \param hdferr \fortran_error +!! SUBROUTINE h5rdereference_region_f(obj_id, ref, ref_obj_id, hdferr) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Dataset identifier - TYPE(hdset_reg_ref_t_f), INTENT(IN), TARGET :: ref ! Object reference - INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: obj_id + TYPE(hdset_reg_ref_t_f), INTENT(IN), TARGET :: ref + INTEGER(HID_T), INTENT(OUT) :: ref_obj_id + INTEGER, INTENT(OUT) :: hdferr TYPE(C_PTR) :: f_ptr f_ptr = C_LOC(ref) @@ -548,72 +445,45 @@ CONTAINS END SUBROUTINE h5rdereference_region_f -!****s* H5R (F03)/h5rdereference_ptr_f -! -! NAME -! h5rdereference_ptr_f -! -! PURPOSE -! Opens the HDF5 object referenced. -! -! Inputs: -! obj_id - valid identifier for the file containing the -! referenced object or any object in that file. -! ref_type - the reference type of ref. -! ref - Reference to open. -! Outputs: -! ref_obj_id - identifier of referenced object -! hdferr - returns 0 if successful and -1 if fails -! -! AUTHOR -! M. Scot Breitenfeld -! June 20, 2008 -! -! NOTES -! This is a module procedure for the h5rdereference_f -! subroutine using pointers. -! -! Signature: +!> +!! \ingroup FH5R +!! +!! \brief Opens the HDF5 object referenced. +!! +!! \note \fortran_approved +!! +!! \param obj_id Valid identifier for the file containing the referenced object or any object in that file. +!! \param ref_type The reference type of ref. +!! \param ref Reference to open. +!! \param ref_obj_id Identifier of referenced object. +!! \param hdferr \fortran_error +!! SUBROUTINE h5rdereference_ptr_f(obj_id, ref_type, ref, ref_obj_id, hdferr) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Valid identifier for the file containing the - ! referenced object or any object in that file. - INTEGER, INTENT(IN) :: ref_type ! The reference type of ref. - TYPE(C_PTR), INTENT(IN) :: ref ! Object reference + INTEGER(HID_T), INTENT(IN) :: obj_id + INTEGER, INTENT(IN) :: ref_type + TYPE(C_PTR), INTENT(IN) :: ref INTEGER(HID_T), INTENT(OUT) :: ref_obj_id - ! Identifier of referenced object - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER, INTENT(OUT) :: hdferr + hdferr = h5rdereference_ptr_c(obj_id, ref_type, ref, ref_obj_id) END SUBROUTINE h5rdereference_ptr_f -! -!****s* H5R (F03)/h5rget_name_object_f -! -! NAME -! h5rget_name_object_f -! -! PURPOSE -! Retrieves a name of a referenced object. -! -! Inputs: -! loc_id - Identifier for the file containing the reference or for any object in that file. -! ref - An object or dataset region reference. -! -! Outputs: -! name - A name associated with the referenced object or dataset region. -! hdferr - Returns 0 if successful and -1 if fails. -! -! Optional parameters: -! size - The size of the name buffer, returning 0 (zero) if no name is associated -! with the identifier. -! -! AUTHOR -! M. Scot Breitenfeld -! March 28, 2008 -! -! Signature: + +!> +!! \ingroup FH5R +!! +!! \brief Retrieves a name of a referenced object. +!! +!! \note \fortran_obsolete +!! +!! \param loc_id Identifier for the file containing the reference or for any object in that file. +!! \param ref An object or dataset region reference. +!! \param name A name associated with the referenced object or dataset region. +!! \param hdferr \fortran_error +!! \param size The size of the name buffer, returning 0 (zero) if no name is associated with the identifier. +!! SUBROUTINE h5rget_name_object_f(loc_id, ref, name, hdferr, size) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE @@ -622,7 +492,6 @@ CONTAINS INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size CHARACTER(LEN=*), INTENT(INOUT) :: name INTEGER, INTENT(OUT) :: hdferr -!***** INTEGER(SIZE_T) :: size_default INTEGER(SIZE_T) :: name_len @@ -637,30 +506,20 @@ CONTAINS IF(PRESENT(size)) size = size_default END SUBROUTINE h5rget_name_object_f -!****s* H5R (F03)/h5rget_name_region_f -! -! NAME -! h5rget_name_region_f -! -! PURPOSE -! Retrieves a name of a dataset region. -! -! Inputs: -! loc_id - Identifier for the file containing the reference or for any object in that file. -! ref - An object or dataset region reference. -! -! Outputs: -! name - A name associated with the referenced object or dataset region. -! hdferr - Returns 0 if successful and -1 if fails. -! -! Optional parameters: -! size - The size of the name buffer, returning 0 (zero) if no name is associated with the identifier -! -! AUTHOR -! M. Scot Breitenfeld -! March 28, 2008 -! -! Signature: + +!> +!! \ingroup FH5R +!! +!! \brief Retrieves a name of a dataset region. +!! +!! \note \fortran_obsolete +!! +!! \param loc_id Identifier for the file containing the reference or for any object in that file. +!! \param ref An object or dataset region reference. +!! \param name A name associated with the referenced object or dataset region. +!! \param hdferr \fortran_error +!! \param size The size of the name buffer, returning 0 (zero) if no name is associated with the identifier. +!! SUBROUTINE h5rget_name_region_f(loc_id, ref, name, hdferr, size) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE @@ -669,7 +528,6 @@ CONTAINS INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size CHARACTER(LEN=*), INTENT(INOUT) :: name INTEGER, INTENT(OUT) :: hdferr -!***** INTEGER(SIZE_T) :: size_default INTEGER(SIZE_T) :: name_len TYPE(C_PTR) :: f_ptr @@ -684,33 +542,27 @@ CONTAINS END SUBROUTINE h5rget_name_region_f - !****s* H5R (F03)/h5rget_name_ptr_f - ! - ! NAME - ! h5rget_name_ptr_f - ! - ! PURPOSE - ! Retrieves a name of a referenced object. - ! - ! Inputs: - ! loc_id - Identifier for the file containing the reference or for any object in that file. - ! ref_type - Type of reference. - ! ref - An object or dataset region reference. - ! - ! Outputs: - ! name - A name associated with the referenced object or dataset ptr. - ! hdferr - Returns 0 if successful and -1 if fails. - ! - ! Optional parameters: - ! size - The size of the name buffer, returning 0 (zero) if no name is associated - ! with the identifier - ! - ! AUTHOR - ! M. Scot Breitenfeld - ! March 28, 2008 - ! - ! Signature: - SUBROUTINE h5rget_name_ptr_f(loc_id, ref_type, ref, name, hdferr, size) +!> +!! \ingroup FH5R +!! +!! \brief Retrieves a name of a referenced object. +!! +!! \note \fortran_approved +!! +!! \param loc_id Identifier for the file containing the reference or for any object in that file. +!! \param ref_type Type of reference. +!! \param ref An object or dataset region reference. +!! \param name A name associated with the referenced object or dataset ptr. +!! \param hdferr \fortran_error +!!\param size The size of the name buffer, returning 0 (zero) if no name is associated with the identifier. +!! + +#ifdef H5_DOXYGEN_FORTRAN + SUBROUTINE h5rget_name_f(& +#else + SUBROUTINE h5rget_name_ptr_f(& +#endif + loc_id, ref_type, ref, name, hdferr, size) USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id @@ -719,7 +571,6 @@ CONTAINS CHARACTER(LEN=*), INTENT(INOUT) :: name INTEGER, INTENT(OUT) :: hdferr INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size -!***** INTEGER(SIZE_T) :: size_default INTEGER(SIZE_T) :: name_len @@ -729,37 +580,29 @@ CONTAINS IF(PRESENT(size)) size = size_default +#ifdef H5_DOXYGEN_FORTRAN + END SUBROUTINE h5rget_name_f +#else END SUBROUTINE h5rget_name_ptr_f - - !****s* H5R (F03)/h5rget_obj_type_f - ! - ! NAME - ! h5rget_obj_type_f - ! - ! PURPOSE - ! Retrieves the type of object that an object reference points to. - ! - ! Inputs: - ! loc_id - Identifier for the dataset containing the reference or - ! for the group that dataset is in. - ! ref_type - Type of reference to query. - ! ref - Reference to query. - ! - ! Outputs: - ! obj_type - Type of referenced object. - ! H5G_UNKNOWN_F - ! H5G_GROUP_F - ! H5G_DATASET_F - ! H5G_TYPE_F - ! - ! hdferr - Returns 0 if successful and -1 if fails. - ! - ! AUTHOR - ! M. Scot Breitenfeld - ! Decemeber 17, 2008 - ! - ! Signature: +#endif + +!> +!! \ingroup FH5R +!! +!! \brief Retrieves the type of object that an object reference points to. +!! +!! loc_id - Identifier for the dataset containing the reference or for the group that dataset is in. +!! ref_type - Type of reference to query. +!! ref - Reference to query. +!! obj_type - Type of referenced object: +!! \li H5G_UNKNOWN_F +!! \li H H5G_GROUP_F +!! \li H H5G_DATASET_F +!! \li H H5G_TYPE_F +!! hdferr - \fortran_error +!! SUBROUTINE h5rget_obj_type_f(loc_id, ref_type, ref, obj_type, hdferr) + USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id @@ -767,7 +610,6 @@ CONTAINS TYPE(C_PTR), INTENT(IN) :: ref INTEGER, INTENT(OUT) :: obj_type INTEGER, INTENT(OUT) :: hdferr - !***** INTERFACE INTEGER FUNCTION h5rget_obj_type_c(loc_id, ref_type, ref, obj_type) & |