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