diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-13 03:12:17 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-13 03:12:17 (GMT) |
commit | 6e2c92c082868c8cb7e612c91fd82371e91f2851 (patch) | |
tree | e4bd6e1829f9b2214d719831a90332ec4bedce1c /src/H5Tpkg.h | |
parent | 0a12b3ae336fdd244b48b73607b3dcb486da0452 (diff) | |
download | hdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.zip hdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.tar.gz hdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.tar.bz2 |
[svn-r8671] Purpose:
Code optimization
Description:
Avoid a memory copy by directly reading from the variable-length sequence
buffer when there is no type conversion on the way to disk.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
Diffstat (limited to 'src/H5Tpkg.h')
-rw-r--r-- | src/H5Tpkg.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h index 2a72f93..dda6481 100644 --- a/src/H5Tpkg.h +++ b/src/H5Tpkg.h @@ -133,6 +133,7 @@ typedef struct H5T_enum_t { /* VL function pointers */ typedef hssize_t (*H5T_vlen_getlenfunc_t)(void *vl_addr); +typedef void * (*H5T_vlen_getptrfunc_t)(void *vl_addr); typedef htri_t (*H5T_vlen_isnullfunc_t)(H5F_t *f, void *vl_addr); typedef herr_t (*H5T_vlen_readfunc_t)(H5F_t *f, hid_t dxpl_id, void *_vl, void *buf, size_t len); typedef herr_t (*H5T_vlen_writefunc_t)(H5F_t *f, hid_t dxpl_id, const H5T_vlen_alloc_info_t *vl_alloc_info, void *_vl, void *buf, void *_bg, hsize_t seq_len, hsize_t base_size); @@ -154,6 +155,7 @@ typedef struct H5T_vlen_t { H5T_str_t pad; /* For VL string. space or null padding of * extra bytes */ H5F_t *f; /* File ID (if VL data is on disk) */ + H5T_vlen_getptrfunc_t getptr; /* Function to get VL sequence pointer */ H5T_vlen_getlenfunc_t getlen; /* Function to get VL sequence size (in element units, not bytes) */ H5T_vlen_isnullfunc_t isnull; /* Function to check if VL value is NIL */ H5T_vlen_readfunc_t read; /* Function to read VL sequence into buffer */ |