Посетите объекты, заданные идентификатором объекта
[status,opdata_out] = H5O.visit(obj_id,index_type,order,iter_func,opdata_in)
[status,opdata_out] = H5O.visit(obj_id,index_type,order,iter_func,opdata_in)
рекурсивная функция итерации должна посетить объект object_id
и, если object_id
группа, все объекты в и ниже его в файле HDF5. Это обеспечивает механизм для приложения, чтобы выполнить единый набор операций через все те объекты или динамически выбранное подмножество.
Если object_id
идентификатор группы, та группа служит корнем рекурсивной итерации. Если object_id
идентификатор файла, что корневая группа файла служит корнем рекурсивной итерации. Если object_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
параметр. opdata_out
из итерации шаг формирует opdata_in
для следующего шага итерации. Итоговый opdata_out
в конце итерации затем возвращен в вызывающую сторону как opdata_out
.
status
значение возвращено iter_func
интерпретирован можно следующим образом.
нуль | Продолжает итерацию или возвращает нулевое значение состояния вызывающей стороне, если все члены были обработаны |
положительный | Останавливает итерацию и возвращает положительное значение состояния вызывающей стороне |
отрицательный | Останавливает итерацию и выдает ошибку при указании на отказ |