H5A_ITERATE1 iterates over the attributes of the object specified by its identifier, loc_id . The object can be a file, 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, 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 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.
|