Name: H5Tarray_create
Signatures:

  hid_t `H5Tarray_create`( hid_t `base_type_id`, int `rank`, const hsize_t `dims[/*rank*/]`, const int `perm[/*rank*/]` ) | [1]
  hid_t `H5Tarray_create`( hid_t `base_typ_id`, unsigned `rank`, const hsize_t `dims[/*rank*/]`, ) | [2]

Purpose:
  Creates an array datatype object.

Description:
  `H5Tarray_create` is a macro that is mapped to either `H5Tarray_create1` or `H5Tarray_create2`, depending on the needs of the application.

  Such macros are provided to facilitate application compatibility. For example:

  - The `H5Tarray_create` macro will be mapped to `H5Tarray_create1` and will use the `H5Tarray_create1` syntax (first signature above) if an application is coded for HDF5 Release 1.6.x.
  - The `H5Tarray_create` macro mapped to `H5Tarray_create2` and will use the `H5Tarray_create2` syntax (second signature above) if an application is coded for HDF5 Release 1.8.x.

  Macro use and mappings are fully described in “API Compatibility Macros in HDF5”; we urge you to read that document closely.

  When both the HDF5 Library and the application are built and installed with no specific compatibility flags, `H5Tarray_create` is mapped to the most recent version of the function, currently `H5Tarray_create2`. If the library and/or application is compiled for Release 1.6 emulation, `H5Tarray_create` will be mapped to `H5Tarray_create1`. Function-specific flags are available to override these settings on a function-by-function basis when the application is compiled.

  Specific compile-time compatibility flags and the resulting mappings are as follows:

  Compatibility setting | `H5Tarray_create` mapping
  --- | ---
  Global settings
  No compatibility flag | `H5Tarray_create2`
  Enable deprecated symbols | `H5Tarray_create2`
  Disable deprecated symbols | `H5Tarray_create2`
  Emulate Release 1.6 interface | `H5Tarray_create1`
  Function-level macros
  `H5Tarray_create_vers = 2` | `H5Tarray_create2`
  `H5Tarray_create_vers = 1` | `H5Tarray_create1`

  Interface history: Signature [1] above is the original `H5Tarray_create` interface and the only interface available prior to HDF5 Release 1.8.0. This signature and the corresponding function are now deprecated but will remain directly callable as `H5Tarray_create1`.

  Signature [2] above was introduced with HDF5 Release 1.8.0 and is the recommended and default interface. It is directly callable as `H5Tarray_create2`.

  See “API Compatibility Macros in HDF5” for circumstances under which either of these functions might not be available in an installed instance of the HDF5 Library.

Fortran90 Interface: h5tarray_create_f

      SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: base_id   ! Identifier of array base datatype
        INTEGER, INTENT(IN)        ::  rank     ! Rank of the array
        INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
                                                ! Sizes of each array dimension
        INTEGER(HID_T), INTENT(OUT) :: type_id  ! Identifier of the array datatype
        INTEGER, INTENT(OUT)        :: hdferr   ! Error code
      END SUBROUTINE h5tarray_create_f

History:

  Release | C
  1.8.0 | The function `H5Tarray_create` renamed to `H5Tarray_create1` and deprecated in this release. The macro `H5Tarray_create` and the function `H5Tarray_create2` introduced in this release.