exponenta event banner

H5L.iterate_by_name

Итерация по ссылкам в группе, указанной именем

Синтаксис

[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 интерпретируется следующим образом:

нольПродолжение итерации или возврат нулевого значения состояния вызывающему абоненту, если все элементы обработаны
положительныйОстанавливает итерацию и возвращает вызывающей стороне положительное значение состояния
отрицательныйОстанавливает итерацию и выдает ошибку, указывающую на сбой