diff options
author | Gaute Hope <eg@gaute.vetsj.com> | 2021-05-19 22:21:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-19 22:21:52 (GMT) |
commit | 509a068f628826b8d1d09b7ab267400f4cec0852 (patch) | |
tree | 3e780797310237f158ba542bf0430b27cdc829c5 /src/H5Dpkg.h | |
parent | d179f9d79ca9ed3f94715b907e3d8426a26ee766 (diff) | |
download | hdf5-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.h | 1 |
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, |