Name: H5Aiterate
Signature:

  herr_t `H5Aiterate`( hid_t `loc_id`, unsigned * `idx`, H5A_operator_t `op`, void *`op_data` ) | [1]
  herr_t `H5Aiterate`( hid_t `obj_id`, H5_index_t `idx_type`, H5_iter_order_t `order`, hsize_t *`n`, H5A_operator2_t `op`, void *`op_data` ) | [2]

Purpose:
  Calls a user’s function for each attribute on an object.

Description:
  `H5Aiterate` is a macro that is mapped to either `H5Aiterate1` or `H5Aiterate2`, depending on the needs of the application.

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

  - The `H5Aiterate` macro will be mapped to `H5Aiterate1` and will use the `H5Aiterate1` syntax (first signature above) if an application is coded for HDF5 Release 1.6.x.
  - The `H5Aiterate` macro mapped to `H5Aiterate2` and will use the `H5Aiterate2` 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, `H5Aiterate` is mapped to the most recent version of the function, currently `H5Aiterate2`. If the library and/or application is compiled for Release 1.6 emulation, `H5Aiterate` will be mapped to `H5Aiterate1`. 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 | `H5Aiterate` mapping
  --- | ---
  Global settings
  No compatibility flag | `H5Aiterate2`
  Enable deprecated symbols | `H5Aiterate2`
  Disable deprecated symbols | `H5Aiterate2`
  Emulate Release 1.6 interface`` | `H5Aiterate1`
  Function-level macros
  `H5Aiterate_vers = 2` | `H5Aiterate2`
  `H5Aiterate_vers = 1` | `H5Aiterate1`

  Interface history: Signature [1] above is the original `H5Aiterate` 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 `H5Aiterate1`.

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

  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:
  None.

History:

  Release | C
  1.8.0 | The function `H5Aiterate` renamed to `H5Aiterate1` and deprecated in this release. The macro `H5Aiterate` and the functions `H5Aiterate2` and `H5Aiterate_by_name` introduced in this release.