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

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

См. также