H5A.iterate

Выполните функцию для атрибутов, присоединенных к объекту

Синтаксис

[состояние, 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.

Была ли эта тема полезной?