summaryrefslogtreecommitdiffstats
path: root/src/H5Dpkg.h
diff options
context:
space:
mode:
authorGaute Hope <eg@gaute.vetsj.com>2021-05-19 22:21:52 (GMT)
committerGitHub <noreply@github.com>2021-05-19 22:21:52 (GMT)
commit509a068f628826b8d1d09b7ab267400f4cec0852 (patch)
tree3e780797310237f158ba542bf0430b27cdc829c5 /src/H5Dpkg.h
parentd179f9d79ca9ed3f94715b907e3d8426a26ee766 (diff)
downloadhdf5-509a068f628826b8d1d09b7ab267400f4cec0852.zip
hdf5-509a068f628826b8d1d09b7ab267400f4cec0852.tar.gz
hdf5-509a068f628826b8d1d09b7ab267400f4cec0852.tar.bz2
Add H5Dchunk_iter method for iterating over chunks (#6)
* Add H5Dchunk_iter method for iterating over chunks This method iterates over all chunks in dataset, calling a user-supplied callback with the chunk information and optional user supplied data. The iterator is stopped when ITER_STOP is returned by the user-supplied callback or the iterator is exhausted. Existing methods to get chunk_info performs an iteration each time, so to get many or all chunks causes SUM(i) for i = 0 -> N operations for N chunks, as opposed to N operations when using this iterator for this use case. * H5Dchunk_iter: test iterating all chunks, some chunks and failing iteration. * H5D: move H5Dchunk_iter private methods to specific * trace: add H5D_chunk_iter_op_t and trace H5D.c * chunks-iter: document chunk_iter * chunk-iter: chunk add FUNC_ENTER/FUNC_LEAVE macros * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r--src/H5Dpkg.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index 64f2c7a..28561c9 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -565,6 +565,7 @@ H5_DLL herr_t H5D__get_chunk_info(const H5D_t *dset, const H5S_t *space, hsize_
unsigned *filter_mask, haddr_t *offset, hsize_t *size);
H5_DLL herr_t H5D__get_chunk_info_by_coord(const H5D_t *dset, const hsize_t *coord, unsigned *filter_mask,
haddr_t *addr, hsize_t *size);
+H5_DLL herr_t H5D__chunk_iter(const H5D_t *dset, H5D_chunk_iter_op_t cb, void *op_data);
H5_DLL haddr_t H5D__get_offset(const H5D_t *dset);
H5_DLL herr_t H5D__vlen_get_buf_size(H5D_t *dset, hid_t type_id, hid_t space_id, hsize_t *size);
H5_DLL herr_t H5D__vlen_get_buf_size_gen(H5VL_object_t *vol_obj, hid_t type_id, hid_t space_id,