文档

H5A.iterate

为附加到对象的属性执行函数

语法

[status,idx_stop,cdata_out] = H5A.iterate(obj_id,idx_type,order,idx_start,iter_func,cdata_in)
H5A.iterate (loc_id attr_idx iterator_func)

描述

[status,idx_stop,cdata_out] = H5A.iterate(obj_id,idx_type,order,idx_start,iter_func,cdata_in)执行指定的函数iter_func对于连接到对象的每个属性。obj_id标识附加属性的对象。idx_type索引的类型,有效值包括以下内容。

“H5_INDEX_NAME” 按属性名的字母数字索引
“H5_INDEX_CRT_ORDER” 按创建顺序的索引

订单指定索引遍历顺序。有效值包括以下内容。

“H5_ITER_INC” 从头到尾迭代
“H5_ITER_DEC” 从头到尾的迭代
“H5_ITER_NATIVE” 以最快的可用顺序进行迭代

idx_start指定迭代的起始点。idx_stop返回停止迭代的点。这允许被中断的迭代重新开始。

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

[status,cdata_out] = iter_func(obj_id,attr_name,info,cdata_in)

cdata_in中传递给迭代的第一步的用户定义值或结构iter_funccdata_in参数。的cdata_out迭代步骤的cdata_in对于下一个迭代步骤。然后是期末考试cdata_out在迭代结束时返回给调用者为cdata_out.这种形式H5A.iterate对应于H5Aiterate2hdf5c API中的函数。

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

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

H5A.iterate (loc_id attr_idx iterator_func)为指定的组、数据集或命名数据类型的每个属性执行指定的函数loc_id.的attr_idx参数指定迭代开始的位置。iterator_func必须是函数句柄。

迭代器函数必须具有以下签名:

Status = iterator_func(loc_id,attr_name)

loc_id仍然指定传入的组、数据集或命名数据类型H5A.iterate,attr_name指定当前属性。这种形式H5A.iterate对应于H5Aiterate1hdf5c API中的函数。

这个话题有用吗?