Рекурсивная итерация через ссылки в группе, заданной местоположением и именем группы
[status,opdata_out] = H5L.visit_by_name(loc_id,group_name,index_type,order,iter_func,opdata_in,lapl_id)
[status,opdata_out] = H5L.visit_by_name(loc_id,group_name,index_type,order,iter_func,opdata_in,lapl_id)
рекурсивно итерация, хотя все ссылки в группе и ниже для выполнения общей функции, указатель на функцию которой iter_func
. Начальная точка итерации задается сопряжением идентификатора местоположения и относительного имени группы. Список свойств доступа к ссылке, lapl_id
, может повлиять на результат в зависимости от типа проходимой ссылки.
index_type
и order
установить итерацию. index_type
задает используемый индекс. Если ссылки не были индексированы по типу индекса, они сначала сортируются по этому индексу, а затем начинается итерация. Если ссылки были так индексированы, шаг сортировки не нужен, поэтому итерация может начаться быстрее. Задайте index_type
как один из этих векторов символов или строковых скаляров.
'H5_INDEX_NAME' | Альфа-числовой индекс по имени |
'H5_INDEX_CRT_ORDER' | Индекс по порядку создания |
Обратите внимание, что тип индекса прошел в index_type
является наилучшей настройкой усилий. Если приложение передает значение, указывающее итерацию в порядке создания и обнаруживается группа, которая не отслеживалась в порядке создания, эта группа будет итерация в альфа-числовом порядке по наименованию или порядку имен. (Порядок имен является собственным порядком, используемым библиотекой HDF5, и всегда доступен.)
order
задает порядок проверки объектов по индексу, указанному в index_type
. Задайте order
как один из этих векторов символов или строковых скаляров.
'H5_ITER_INC' | Порядок возрастания |
'H5_ITER_DEC' | Уменьшение порядка |
'H5_ITER_NATIVE' | Самый быстрый доступный порядок |
Функция обратного вызова 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
интерпретируется следующим образом.
нуль | Продолжается с итерацией или возвращает нулевое значение состояния вызывающему абоненту, если все представители были обработаны |
положительный | Останавливает итерацию и возвращает положительное значение состояния вызывающему абоненту |
отрицательный | Останавливает итерацию и выдает ошибку, указывающую на отказ |