Итерация по ссылкам в группе, указанной именем
[status,idx_out,opdata_out] = H5L.iterate_by_name(loc_id,group_name,index_type,order,idx_in,iter_func,opdata_in,lapl_id)
[status,idx_out,opdata_out] = H5L.iterate_by_name(loc_id,group_name,index_type,order,idx_in,iter_func,opdata_in,lapl_id) выполняет итерации по ссылкам в группе для выполнения общей функции, дескриптором функции которой является iter_func. Начальной точкой итерации является спаривание указанного идентификатора расположения и относительного имени группы. H5L.iterate_by_name рекурсивно не следует по ссылкам в подгруппы указанной группы. Список свойств доступа к каналу, lapl_id, может влиять на результат в зависимости от типа пересекаемой связи.
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 интерпретируется следующим образом:
| ноль | Продолжение итерации или возврат нулевого значения состояния вызывающему абоненту, если все элементы обработаны |
| положительный | Останавливает итерацию и возвращает вызывающей стороне положительное значение состояния |
| отрицательный | Останавливает итерацию и выдает ошибку, указывающую на сбой |