exponenta event banner

H5O.visit

Посещение объектов, указанных идентификатором объекта

Синтаксис

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

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

См. также