Итерация по ссылкам
[status,idx_out,opdata_out] = H5L.iterate(group_id,index_type,order,idx_in,iter_func,opdata_in)
[status,idx_out,opdata_out] = H5L.iterate(group_id,index_type,order,idx_in,iter_func,opdata_in) выполняет итерацию по ссылкам в группе, указанным group_id, для выполнения общей функции, дескриптором функции которой является iter_func. H5L.iterate рекурсивно не следует по ссылкам в подгруппы указанной группы.
index_type и order установить итерацию. index_type указывает используемый индекс. Если связи не были проиндексированы по типу индекса, они сначала будут отсортированы по этому индексу, а затем начнется итерация. Если связи были проиндексированы таким образом, шаг сортировки будет ненужным, поэтому итерация может начаться быстрее. Определить index_type как один из этих векторов символов или строковых скаляров.
'H5_INDEX_NAME' | Буквенно-числовой индекс для имени |
'H5_INDEX_CRT_ORDER' | Индекс по порядку создания |
order определяет порядок проверки объектов по индексу, указанному в index_type. Определить order как один из этих векторов символов или строковых скаляров.
'H5_ITER_INC' | Увеличение порядка |
'H5_ITER_DEC' | Порядок убывания |
'H5_ITER_NATIVE' | Самый быстрый доступный заказ |
idx_in указывает начальную точку итерации. idx_out возвращает точку, в которой была остановлена итерация. Это позволяет возобновить прерванную итерацию.
Функция обратного вызова iter_func должна иметь следующую подпись:
function [status,opdata_out] = iter_func(group_id,name,opdata_in)
opdata_in является пользовательским значением или структурой и передается на первый шаг итерации в iter_func opdata_in параметр. opdata_out этапа итерации формирует opdata_in для следующего шага итерации. Финал opdata_out в конце итерации возвращается вызывающему абоненту как opdata_out.
status значение, возвращенное iter_func интерпретируется следующим образом:
| ноль | Продолжение итерации или возврат нулевого значения состояния вызывающему абоненту, если все элементы обработаны |
| положительный | Останавливает итерацию и возвращает вызывающей стороне положительное значение состояния |
| отрицательный | Останавливает итерацию и выдает ошибку, указывающую на сбой |