Выполните функцию для атрибутов, присоединенных к объекту
[состояние, idx_stop, cdata_out] = H5A.iterate (obj_id, idx_type, порядок, idx_start, iter_func, cdata_in)
H5A.iterate (loc_id, attr_idx, iterator_func)
[status,idx_stop,cdata_out] = H5A.iterate(obj_id,idx_type,order,idx_start,iter_func,cdata_in)
выполняет заданный функциональный iter_func
для каждого атрибута, соединенного с объектом. obj_id
идентифицирует объект, к которому присоединяются атрибуты. idx_type
является типом индекса, и допустимые значения включают следующее.
'H5_INDEX_NAME' | Алфавитно-цифровой индекс названием атрибута |
'H5_INDEX_CRT_ORDER' | Индекс согласно порядку создания |
order
задает индексный порядок обхода. Допустимые значения включают следующее.
'H5_ITER_INC' | Итерация с начала до конца |
'H5_ITER_DEC' | Итерация от конца до начала |
'H5_ITER_NATIVE' | Итерация в самом быстром доступном порядке |
idx_start
задает отправную точку итерации. idx_stop
возвращает точку, в которой была остановлена итерация. Это позволяет прерванной итерации быть возобновленной.
Функция обратного вызова, iter_func
, должна иметь следующую подпись:
[status,cdata_out] = iter_func(obj_id,attr_name,info,cdata_in)
cdata_in
является пользовательским значением или структурой и передается первому шагу итерации в параметре cdata_in
iter_func
. cdata_out
шага итерации формирует cdata_in
для следующего шага итерации. Затем итоговый cdata_out
в конце итерации возвращен в вызывающую сторону как cdata_out
. Эта форма H5A.iterate
соответствует функции H5Aiterate2
в HDF5 C API.
Значение status
, возвращенное iter_func
, интерпретировано можно следующим образом.
нуль | Продолжает итерацию или возвращает нулевое значение состояния вызывающей стороне, если все участники были обработаны |
положительный | Останавливает итерацию и возвращает положительное значение состояния вызывающей стороне |
отрицательный | Останавливает итерацию и выдает ошибку при указании на отказ |
H5A.iterate(loc_id,attr_idx,iterator_func)
выполняет заданную функцию для каждого атрибута группы, набора данных или названного типа данных, заданного loc_id
. Аргумент attr_idx
задает, где итерация начинается. iterator_func
должен быть указателем на функцию.
Функция итератора должна иметь следующую подпись:
status = iterator_func(loc_id,attr_name)
loc_id
все еще задает группу, набор данных, или названный тип данных передал в H5A.iterate
, и attr_name
задает текущий атрибут. Эта форма H5A.iterate
соответствует функции H5Aiterate1
в HDF5 C API.