Итерация по ссылкам в группе, заданной по имени
[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
параметр. The opdata_out
шага итерации образует opdata_in
для следующего шага итерации. Окончательное opdata_out в конце итерации возвращается вызывающему абоненту следующим opdata_out
.
status
значение, возвращенное iter_func
интерпретируется следующим образом:
нуль | Продолжается с итерацией или возвращает нулевое значение состояния вызывающему абоненту, если все представители были обработаны |
положительный | Останавливает итерацию и возвращает положительное значение состояния вызывающему абоненту |
отрицательный | Останавливает итерацию и выдает ошибку, указывающую на отказ |