H5A.iterate

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

Синтаксис

[status,idx_stop,cdata_out] = H5A.iterate(obj_id,idx_type,order,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 является пользовательским значением или структурой и передается на первый шаг итерации в iter_func cdata_in параметр. The 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. The attr_idx аргумент задает, с чего начинается итерация. iterator_func должен быть указателем на функцию.

Функция итератора должна иметь следующую сигнатуру:

status = iterator_func(loc_id,attr_name)

loc_id по-прежнему задает группу, набор данных или тип именованных данных, переданный в H5A.iterate, и attr_name задает текущий атрибут. Эта форма H5A.iterate соответствует H5Aiterate1 функция в HDF5 C API.