Выполните функцию для атрибутов, присоединенных к объекту
[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.