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_func
cdata_in
参数。的cdata_out
迭代步骤的cdata_in
对于下一个迭代步骤。然后是期末考试cdata_out
在迭代结束时返回给调用者为cdata_out
.这种形式H5A.iterate
对应于H5Aiterate2
hdf5c 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
对应于H5Aiterate1
hdf5c API中的函数。