summaryrefslogtreecommitdiffstats
path: root/hl/fortran/src/H5TBff.F90
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2022-09-07 22:11:20 (GMT)
committerGitHub <noreply@github.com>2022-09-07 22:11:20 (GMT)
commit99f17c727166ab88a36280ee93a197de5555412c (patch)
tree793820b86a6924b564443f5201786d9a4b96367e /hl/fortran/src/H5TBff.F90
parent1804e0e0c45ed468ad602dd7af80d44b89160e0e (diff)
downloadhdf5-99f17c727166ab88a36280ee93a197de5555412c.zip
hdf5-99f17c727166ab88a36280ee93a197de5555412c.tar.gz
hdf5-99f17c727166ab88a36280ee93a197de5555412c.tar.bz2
Doxygen Fortran (#2062)
Diffstat (limited to 'hl/fortran/src/H5TBff.F90')
-rw-r--r--hl/fortran/src/H5TBff.F90913
1 files changed, 521 insertions, 392 deletions
diff --git a/hl/fortran/src/H5TBff.F90 b/hl/fortran/src/H5TBff.F90
index 82f34a8..611d5ec 100644
--- a/hl/fortran/src/H5TBff.F90
+++ b/hl/fortran/src/H5TBff.F90
@@ -1,3 +1,14 @@
+!> @defgroup FH5TB Fortran High-level H5TB Interface
+!!
+!! @see H5TB, C-API
+!!
+!! @see @ref H5TB_UG, User Guide
+!!
+
+!> @ingroup FH5TB
+!!
+!! @brief This module contains Fortran interfaces for H5TB.
+!
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
@@ -10,13 +21,6 @@
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN interfaces for H5TB functions
-!
-!
-! NOTES
-!
! _____ __ __ _____ ____ _____ _______ _ _ _______
! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
@@ -29,38 +33,64 @@
! This is needed for Windows based operating systems.
!
#include "H5config_f.inc"
-
-MODULE h5tb_CONST
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE H5TB
+#else
+ MODULE H5TB_CONST
+#endif
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
INTERFACE h5tbwrite_field_name_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbwrite_field_name_f
+#else
MODULE PROCEDURE h5tbwrite_field_name_f_int
MODULE PROCEDURE h5tbwrite_field_name_f_string
+#endif
END INTERFACE
INTERFACE h5tbread_field_name_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbread_field_name_f
+#else
MODULE PROCEDURE h5tbread_field_name_f_int
MODULE PROCEDURE h5tbread_field_name_f_string
+#endif
END INTERFACE
INTERFACE h5tbwrite_field_index_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbwrite_field_index_f
+#else
MODULE PROCEDURE h5tbwrite_field_index_f_int
MODULE PROCEDURE h5tbwrite_field_index_f_string
+#endif
END INTERFACE
INTERFACE h5tbread_field_index_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbread_field_index_f
+#else
MODULE PROCEDURE h5tbread_field_index_f_int
MODULE PROCEDURE h5tbread_field_index_f_string
+#endif
END INTERFACE
INTERFACE h5tbinsert_field_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbinsert_field_f
+#else
MODULE PROCEDURE h5tbinsert_field_f_int
MODULE PROCEDURE h5tbinsert_field_f_string
+#endif
END INTERFACE
+
+#ifndef H5_DOXYGEN_FORTRAN
+
INTERFACE h5tbmake_table_f
MODULE PROCEDURE h5tbmake_table_f90
MODULE PROCEDURE h5tbmake_table_ptr_f
@@ -144,7 +174,6 @@ MODULE h5tb_CONST
END FUNCTION h5tbread_field_index_c
END INTERFACE
-
INTERFACE
INTEGER FUNCTION h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
field_type,field_index,buf) &
@@ -153,8 +182,8 @@ MODULE h5tb_CONST
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
TYPE(C_PTR), VALUE :: buf ! data buffer
@@ -163,26 +192,36 @@ MODULE h5tb_CONST
END FUNCTION h5tbinsert_field_c
END INTERFACE
-CONTAINS
+#endif
-!-------------------------------------------------------------------------
-! Function: h5tbmake_table_f90
-!
-! Purpose: Make a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+CONTAINS
- SUBROUTINE h5tbmake_table_f90(table_title,&
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Creates (DOES NOT WRITE) a dataset named \p dset_name attached to the object specified by the identifier \p loc_id.
+!!
+!! \note \fortran_obsolete
+!!
+!! \param table_title The title of the table.
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create.
+!! \param nfields The number of fields.
+!! \param nrecords The number of records.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param field_names An array containing the names of the fields.
+!! \param field_offset An array containing the offsets of the fields.
+!! \param field_types An array containing the type of the fields.
+!! \param chunk_size The chunk size.
+!! \param compress Flag that turns compression on or off.
+!! \param errcode \fortran_error
+!!
+#ifdef H5_DOXYGEN_FORTRAN
+ SUBROUTINE h5tbmake_table_f(&
+#else
+ SUBROUTINE h5tbmake_table_f90(&
+#endif
+ table_title,&
loc_id,&
dset_name,&
nfields,&
@@ -196,20 +235,20 @@ CONTAINS
errcode )
IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
+ CHARACTER(LEN=*), INTENT(in) :: table_title
+ INTEGER(hid_t) , INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t) , INTENT(in) :: type_size
+ CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names
+ INTEGER(size_t) , DIMENSION(1:nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ INTEGER, INTENT(in) :: compress
+ INTEGER :: errcode
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
INTEGER(size_t) :: max_char_size_field_names ! character len of field names
INTEGER(hsize_t) :: i ! general purpose integer
@@ -234,21 +273,21 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ INTEGER, INTENT(in) :: compress
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
+ INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names
+ INTEGER(size_t) :: max_char_size_field_names
END FUNCTION h5tbmake_table_c
END INTERFACE
@@ -266,9 +305,40 @@ CONTAINS
type_size, field_offset, field_types, chunk_size, compress, char_len_field_names, &
max_char_size_field_names, field_names)
- END SUBROUTINE h5tbmake_table_f90
-
- SUBROUTINE h5tbmake_table_ptr_f(table_title,&
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbmake_table_f
+#else
+ END SUBROUTINE h5tbmake_table_f90
+#endif
+
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Creates and writes a dataset named \p dset_name attached to the object specified by the identifier \p loc_id.
+!!
+!! \note \fortran_approved
+!!
+!! \param table_title The title of the table
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create
+!! \param nfields The number of fields
+!! \param nrecords The number of records
+!! \param type_size The size in bytes of the structure associated with the table; This value is obtained with sizeof().
+!! \param field_names An array containing the names of the fields
+!! \param field_offset An array containing the offsets of the fields
+!! \param field_types An array containing the type of the fields
+!! \param chunk_size The chunk size
+!! \param fill_data Fill values data
+!! \param compress Flag that turns compression on or off
+!! \param data Buffer with data to be written to the table
+!! \param errcode \fortran_error
+!!
+#ifdef H5_DOXYGEN_FORTRAN
+ SUBROUTINE h5tbmake_table_f(&
+#else
+ SUBROUTINE h5tbmake_table_ptr_f(&
+#endif
+ table_title,&
loc_id,&
dset_name,&
nfields,&
@@ -285,22 +355,22 @@ CONTAINS
USE ISO_C_BINDING
IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- TYPE(C_PTR), INTENT(in) :: fill_data ! Fill values data
- INTEGER, INTENT(in) :: compress ! compress
- TYPE(C_PTR), INTENT(in) :: data ! Buffer with data to be written to the table
+ CHARACTER(LEN=*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types
+ INTEGER :: errcode
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ TYPE(C_PTR), INTENT(in) :: fill_data
+ INTEGER, INTENT(in) :: compress
+ TYPE(C_PTR), INTENT(in) :: data
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
INTEGER(size_t) :: max_char_size_field_names ! character len of field names
INTEGER(hsize_t) :: i ! general purpose integer
@@ -327,22 +397,22 @@ CONTAINS
IMPORT :: C_CHAR, C_PTR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- TYPE(C_PTR), INTENT(in), VALUE :: fill_data ! Fill values data
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ TYPE(C_PTR), INTENT(in), VALUE :: fill_data
+ INTEGER, INTENT(in) :: compress
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
+ INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names
+ INTEGER(size_t) :: max_char_size_field_names
TYPE(C_PTR), INTENT(in), VALUE :: data
END FUNCTION h5tbmake_table_ptr_c
END INTERFACE
@@ -361,28 +431,44 @@ CONTAINS
type_size, field_offset, field_types, chunk_size, fill_data, compress, char_len_field_names, &
max_char_size_field_names, field_names, data)
- END SUBROUTINE h5tbmake_table_ptr_f
-
- SUBROUTINE h5tbread_table_f(loc_id, table_name, nfields, dst_size, dst_offset, &
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbmake_table_f
+#else
+ END SUBROUTINE h5tbmake_table_ptr_f
+#endif
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read
+!! \param nfields Number of fields, i.e., size of dst_offset and dst_sizes arrays.
+!! \param dst_size The size of the structure type, as calculated by sizeof or storage_size
+!! \param dst_offset An array containing the offsets of the fields. These offsets can be calculated with H5OFFSETOF.
+!! \param dst_sizes An array containing the sizes of the fields. These sizes can be calculated with sizeof or storage_size.
+!! \param dst_buf Pointer to buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_table_f(loc_id, dset_name, nfields, dst_size, dst_offset, &
dst_sizes, dst_buf, errcode)
USE ISO_C_BINDING
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! An array containing the sizes of the fields
- CHARACTER(LEN=*), INTENT(in) :: table_name ! The name of the dataset to read
- INTEGER(hsize_t), INTENT(in) :: nfields ! number of fields
- INTEGER(size_t), INTENT(in) :: dst_size ! The size of the structure type
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset ! An array containing the offsets of the fields
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes ! An array containing the sizes of the fields
- TYPE(C_PTR) :: dst_buf ! Buffer with data !! do not use INTENT, causes NAG
- ! to segfault in C APIs
- INTEGER :: errcode ! error code
-
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(size_t), INTENT(in) :: dst_size
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes
+ TYPE(C_PTR) :: dst_buf !!! do not use INTENT, causes NAG to segfault in C APIs
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5tbread_table_c(loc_id,&
- table_name,&
+ dset_name,&
namelen,&
nfields,&
dst_size,&
@@ -393,22 +479,22 @@ CONTAINS
IMPORT :: C_PTR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=1), INTENT(in) :: table_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=1), INTENT(in) :: dset_name
INTEGER(hsize_t), INTENT(in) :: nfields
- INTEGER(size_t), INTENT(in) :: dst_size ! type size
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset ! An array containing the sizes of the fields
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes ! An array containing the sizes of the fields
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t), INTENT(in) :: dst_size
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes
+ INTEGER(size_t) :: namelen
TYPE(C_PTR), VALUE :: dst_buf
END FUNCTION h5tbread_table_c
END INTERFACE
- namelen = LEN(table_name)
+ namelen = LEN(dset_name)
errcode = h5tbread_table_c(loc_id,&
- table_name,&
+ dset_name,&
namelen, &
nfields, &
dst_size,&
@@ -416,25 +502,28 @@ CONTAINS
dst_sizes, &
dst_buf)
-
END SUBROUTINE h5tbread_table_f
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbwrite_field_name_f_int(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Overwrites field.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to overwrite
+!! \param field_name The names of the fields to write
+!! \param start The zero index record to start writing
+!! \param nrecords The number of records to write
+!! \param type_size The size of the structure type, as calculated by sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbwrite_field_name_f(&
+#else
+ SUBROUTINE h5tbwrite_field_name_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
start,&
@@ -444,16 +533,20 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -462,10 +555,11 @@ CONTAINS
errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
start,nrecords,type_size,f_ptr)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbwrite_field_name_f
+#else
END SUBROUTINE h5tbwrite_field_name_f_int
-
SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
dset_name,&
field_name,&
@@ -498,24 +592,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_name_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads one or several fields. The fields are identified by name.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param field_name An array containing the names of the fields to read.
+!! \param start The start record to read from.
+!! \param nrecords The number of records to read.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param buf Buffer with data
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_field_name_f(&
+#else
+ SUBROUTINE h5tbread_field_name_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
start,&
@@ -526,19 +624,23 @@ CONTAINS
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(INOUT), DIMENSION(*):: buf
+#else
+ INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf(1)) ! name length
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
@@ -546,6 +648,9 @@ CONTAINS
errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
start,nrecords,type_size,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbread_field_name_f
+#else
END SUBROUTINE h5tbread_field_name_f_int
SUBROUTINE h5tbread_field_name_f_string(loc_id,&
@@ -558,16 +663,16 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -579,24 +684,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbwrite_field_index_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Overwrites a field.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to overwrite.
+!! \param field_index The indexe of the fields to write.
+!! \param start The zero based index record to start writing.
+!! \param nrecords The number of records to write.
+!! \param type_size The size of the structure type, as calculated by sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbwrite_field_index_f(&
+#else
+ SUBROUTINE h5tbwrite_field_index_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_index,&
start,&
@@ -606,15 +715,19 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ INTEGER, INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -624,6 +737,9 @@ CONTAINS
errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
start,nrecords,type_size,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbwrite_field_index_f
+#else
END SUBROUTINE h5tbwrite_field_index_f_int
SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
@@ -636,15 +752,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -654,24 +770,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_index_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads field. The fields are identified by index.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param field_index The indexes of the fields to read.
+!! \param start The start record to read from.
+!! \param nrecords The number of records to read.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_field_index_f(&
+#else
+ SUBROUTINE h5tbread_field_index_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_index,&
start,&
@@ -681,15 +801,19 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(INOUT), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -697,7 +821,9 @@ CONTAINS
errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
start,nrecords,type_size,f_ptr)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbread_field_index_f
+#else
END SUBROUTINE h5tbread_field_index_f_int
SUBROUTINE h5tbread_field_index_f_string(loc_id,&
@@ -710,15 +836,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -728,39 +854,48 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_string
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f
-!
-! Purpose: Inserts one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbinsert_field_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Insert a new field into a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the table.
+!! \param field_name The name of the field to insert.
+!! \param field_type The data type of the field.
+!! \param position The zero based index position where to insert the field.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbinsert_field_f(&
+#else
+ SUBROUTINE h5tbinsert_field_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
field_type,&
- field_index,&
+ position,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hid_t), INTENT(in) :: field_type
+ INTEGER, INTENT(in) :: position
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -769,27 +904,31 @@ CONTAINS
namelen1 = LEN(field_name)
errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
+ field_type,position,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbinsert_field_f
+#else
END SUBROUTINE h5tbinsert_field_f_int
SUBROUTINE h5tbinsert_field_f_string(loc_id,&
dset_name,&
field_name,&
field_type,&
- field_index,&
+ position,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hid_t), INTENT(in) :: field_type
+ INTEGER, INTENT(in) :: position
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -798,36 +937,33 @@ CONTAINS
namelen1 = LEN(field_name)
errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
+ field_type,position,f_ptr)
END SUBROUTINE h5tbinsert_field_f_string
-
-!-------------------------------------------------------------------------
-! Function: h5tbdelete_field_f
-!
-! Purpose: Inserts one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+#endif
+
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Deletes a field from a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the table.
+!! \param field_name The name of the field to delete.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5tbdelete_field_f(loc_id,&
dset_name,&
field_name,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
INTERFACE
@@ -836,11 +972,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: field_name
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
END FUNCTION h5tbdelete_field_c
END INTERFACE
@@ -850,24 +986,17 @@ CONTAINS
errcode = h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name)
END SUBROUTINE h5tbdelete_field_f
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_table_info_f
-!
-! Purpose: Gets the number of records and fields of a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Gets the table dimensions.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param nfields The number of fields.
+!! \param nrecords The number of records.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5tbget_table_info_f(loc_id,&
dset_name,&
nfields,&
@@ -875,12 +1004,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout):: nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) &
@@ -888,11 +1017,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout):: nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords
+ INTEGER(size_t) :: namelen
END FUNCTION h5tbget_table_info_c
END INTERFACE
@@ -901,26 +1030,22 @@ CONTAINS
END SUBROUTINE h5tbget_table_info_f
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_field_info_f
-!
-! Purpose: Get information about fields
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-! Added optional parameter for returning the maximum character length
-! in the field name array. March 3, 2011
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Gets information about a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param nfields The number of fields.
+!! \param field_names An array containing the names of the fields.
+!! \param field_sizes An array containing the size of the fields.
+!! \param field_offsets An array containing the offsets of the fields.
+!! \param type_size The size of the HDF5 datatype associated with the table
+!! (i.e., the size in bytes of the HDF5 compound datatype used to define a row, or record, in the table).
+!! \param errcode \fortran_error
+!! \param maxlen_out Maximum character length of the field names.
+!!
SUBROUTINE h5tbget_field_info_f(loc_id,&
dset_name,&
nfields,&
@@ -931,18 +1056,18 @@ CONTAINS
errcode, maxlen_out )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! nfields
- CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t), OPTIONAL :: maxlen_out ! maximum character len of the field names
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
- INTEGER(hsize_t) :: i ! general purpose integer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets
+ INTEGER(size_t), INTENT(inout):: type_size
+ INTEGER :: errcode
+ INTEGER(size_t), OPTIONAL :: maxlen_out
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
+ INTEGER(hsize_t) :: i
INTEGER(size_t) :: maxlen
INTEGER(size_t) :: c_maxlen_out
@@ -953,17 +1078,17 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in):: nfields ! nfields
- CHARACTER(KIND=C_CHAR), DIMENSION(1:nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: maxlen ! maximum length of input field names
- INTEGER(size_t), DIMENSION(1:nfields) :: namelen2 ! name lengths
- INTEGER(size_t) :: c_maxlen_out ! maximum character length of a field array element
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in):: nfields
+ CHARACTER(KIND=C_CHAR), DIMENSION(1:nfields), INTENT(inout) :: field_names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets
+ INTEGER(size_t), INTENT(inout):: type_size
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: maxlen
+ INTEGER(size_t), DIMENSION(1:nfields) :: namelen2
+ INTEGER(size_t) :: c_maxlen_out
END FUNCTION h5tbget_field_info_c
END INTERFACE
@@ -981,7 +1106,11 @@ CONTAINS
END SUBROUTINE h5tbget_field_info_f
+#ifdef H5_DOXYGEN_FORTRAN
+END MODULE H5TB
+#else
END MODULE H5TB_CONST
+#endif