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_func
opdata_in
参数。的opdata_out
迭代步骤的opdata_in
对于下一个迭代步骤。最后一个opdata_out
在迭代结束时,返回给调用者为opdata_out
.
状态
返回的值iter_func
解释如下。
零 | 继续迭代,如果所有成员都已处理,则返回零状态值给调用方 |
积极的 | 停止迭代并将正的状态值返回给调用者 |
负 | 停止迭代并抛出指示失败的错误 |