IN: Identifier of group, dataset or named datatype
IN/OUT: Starting (IN) and ending (OUT) attribute index
IN: User's function to pass each attribute to
IN/OUT: User's data to pass through to iterator operator function
H5A_ITERATE1 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_operator1_t)(hid_t loc_id,
const char *attr_name,
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 H5A_ITERATE1, 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.
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.
The function H5Aiterate renamed to H5Aiterate1 and deprecated in this release.