Name: H5Aiterate
Signature:
  herr_t `H5Aiterate`(hid_t `loc_id`, unsigned * `idx`, H5A_operator_t `op`, void *`op_data` )
Purpose:
  Calls a user's function for each attribute on an object.
Description:
  `H5Aiterate` iterates over the attributes of the object specified by its identifier, `loc_id`. The object can be a group, dataset, or named datatype. For each attribute of the object, the `op_data` and some additional information specified below are passed to the operator function `op`. The iteration begins with the attribute specified by its index, `idx`; the index for the next attribute to be processed by the operator, `op`, is returned in `idx`. If `idx` is the null pointer, then all attributes are processed.

  The prototype for `H5A_operator_t` is:
  `typedef herr_t (*H5A_operator_t)(hid_t loc_id, const char *attr_name, void *operator_data);`

  The operation receives the identifier for the group, dataset or named datatype being iterated over, `loc_id`, the name of the current attribute about the object, `attr_name`, and the pointer to the operator data passed in to `H5Aiterate`, `op_data`. The return values from an operator are:

  - Zero causes the iterator to continue, returning zero when all attributes have been processed.
  - Positive causes the iterator to immediately return that positive value, indicating short-circuit success. The iterator can be restarted at the next attribute.
  - Negative causes the iterator to immediately return that value, indicating failure. The iterator can be restarted at the next attribute.
Parameters:

hid_t `loc_id` | IN: Identifier of a group, dataset or named datatype.
unsigned * `idx` | IN/OUT: Starting (IN) and ending (OUT) attribute index.
H5A_operator_t `op` | IN: User's function to pass each attribute to
void *`op_data` | IN/OUT: User's data to pass through to iterator operator function

Returns:
  If successful, returns the return value of the last operator if it was non-zero, or zero if all attributes were processed. Otherwise returns a negative value.
Fortran90 Interface:
  None.