diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-09-11 17:25:26 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-09-11 17:25:26 (GMT) |
commit | e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe (patch) | |
tree | 0a33a38538477c1705f93a0b92a2ba84828ff6f4 /src/H5HFpkg.h | |
parent | 9e158b781668387bf82fbab9d60ece304f0e9729 (diff) | |
download | hdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.zip hdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.tar.gz hdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.tar.bz2 |
[svn-r12655] Description:
Add "op" routine to perform operation on heap object "in situ", to allow
for faster operations on dense links during B-tree traversal & lookup.
Refactor the "read" routine to use the internal version of the "op" routine,
to keep the code duplication as low as possible.
Tested on:
Mac OS X.4/PPC (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5HFpkg.h')
-rw-r--r-- | src/H5HFpkg.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h index aaa9b52..75e23d0 100644 --- a/src/H5HFpkg.h +++ b/src/H5HFpkg.h @@ -619,6 +619,8 @@ H5_DLL herr_t H5HF_man_insert(H5HF_hdr_t *fh, hid_t dxpl_id, size_t obj_size, const void *obj, void *id); H5_DLL herr_t H5HF_man_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id, void *obj); +H5_DLL herr_t H5HF_man_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, + H5HF_operator_t op, void *op_data); H5_DLL herr_t H5HF_man_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id); /* 'Huge' object routines */ @@ -629,6 +631,8 @@ H5_DLL herr_t H5HF_huge_get_obj_len(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, size_t *obj_len_p); H5_DLL herr_t H5HF_huge_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id, void *obj); +H5_DLL herr_t H5HF_huge_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, + H5HF_operator_t op, void *op_data); H5_DLL herr_t H5HF_huge_remove(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id); H5_DLL herr_t H5HF_huge_term(H5HF_hdr_t *hdr, hid_t dxpl_id); H5_DLL herr_t H5HF_huge_delete(H5HF_hdr_t *hdr, hid_t dxpl_id); @@ -640,6 +644,8 @@ H5_DLL herr_t H5HF_tiny_insert(H5HF_hdr_t *hdr, size_t obj_size, const void *obj H5_DLL herr_t H5HF_tiny_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p); H5_DLL herr_t H5HF_tiny_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj); +H5_DLL herr_t H5HF_tiny_op(H5HF_hdr_t *hdr, const uint8_t *id, + H5HF_operator_t op, void *op_data); H5_DLL herr_t H5HF_tiny_remove(H5HF_hdr_t *fh, const uint8_t *id); /* Metadata cache callbacks */ @@ -703,6 +709,9 @@ H5_DLL H5HF_indirect_t *H5HF_sect_row_get_iblock(H5HF_free_section_t *sect); H5_DLL herr_t H5HF_sect_indirect_add(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries); +/* Internal operator callbacks */ +H5_DLL herr_t H5HF_op_memcpy(const void *obj, size_t obj_len, void *op_data); + /* Testing routines */ #ifdef H5HF_TESTING H5_DLL herr_t H5HF_get_cparam_test(const H5HF_t *fh, H5HF_create_t *cparam); |