H5P_ITERATE iterates over the properties in the property object specified in
id, which may be either a property list or a property class, performing a specified operation on each property in turn.
For each property in the object,
iter_func and the additional information specified below are passed to the
H5P_iterate_t operator function.
The iteration begins with the
idx-th property in the object; the next element to be processed by the operator is returned in
idx is NULL, the iterator starts at the first property; since no stopping point is returned in this case, the iterator cannot be restarted if one of the calls to its operator returns non-zero.
The prototype for the
H5P_iterate_t operator is as follows:
typedef herr_t (*H5P_iterate_t)( hid_t id, const char *name, void *iter_data )
The operation receives the property list or class identifier for the object being iterated over,
id, the name of the current property within the object,
name, and the pointer to the operator data passed in to H5P_ITERATE,
iter_data. The valid return values from an operator are as follows:
|Zero||Causes the iterator to continue, returning zero when all properties have been processed|
|Positive||Causes the iterator to immediately return that positive value, indicating short-circuit success. The iterator can be restarted at the index of the next property|
|Negative||Causes the iterator to immediately return that value, indicating failure. The iterator can be restarted at the index of the next property|
H5P_ITERATE assumes that the properties in the object identified by
id remain unchanged through the iteration. If the membership changes during the iteration, the function's behavior is undefined.