文档

H5L.visit_by_name

递归迭代由位置和组名指定的组中的链接

语法

[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而且订单建立迭代。index_type指定要使用的索引。如果链接没有按照索引类型建立索引,那么它们将首先按照该索引进行排序,然后迭代将开始。如果链接已经建立了这样的索引,排序步骤就没有必要了,这样迭代就可以更快地开始。有效值包括以下内容。

“H5_INDEX_NAME” 名称上的字母数字索引
“H5_INDEX_CRT_ORDER” 创建顺序索引

请注意传入的索引类型index_type是一个全力以赴的设定。如果应用程序传入一个指示创建顺序迭代的值,并且遇到没有按照创建顺序跟踪的组,则该组将按名称或名称顺序按字母-数字顺序迭代。(名称顺序是HDF5库使用的本机顺序,并且始终可用。)

订单中指定的索引检查对象的顺序index_type.有效值包括以下内容。

“H5_ITER_INC” 增加订单
“H5_ITER_DEC” 减少订单
“H5_ITER_NATIVE” 最快可用订单

回调函数iter_func必须有以下签名:

函数[status,opdata_out] = iter_func(group_id,name,opdata_in)

opdata_in中传递给迭代的第一步的用户定义值或结构iter_funcopdata_in参数。的opdata_out迭代步骤的opdata_in对于下一个迭代步骤。最后一个opdata_out在迭代结束时,返回给调用者为opdata_out

状态返回的值iter_func解释如下。

继续迭代,如果所有成员都已处理,则返回零状态值给调用方
积极的 停止迭代并将正的状态值返回给调用者
停止迭代并抛出指示失败的错误
这个话题有用吗?