diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-13 03:11:27 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-13 03:11:27 (GMT) |
commit | ab989cd1a8d5b65120fe88a84b3b925f1b174db8 (patch) | |
tree | e03c7f4c28b4ab9ee6bde47f1d7d151b6cc58f27 /src/H5Tpkg.h | |
parent | 46e9134612e3d88ebdd6677dcfe9805ef4bc2f9f (diff) | |
download | hdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.zip hdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.tar.gz hdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.tar.bz2 |
[svn-r8670] 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 13118e0..68789bb 100644 --- a/src/H5Tpkg.h +++ b/src/H5Tpkg.h @@ -144,6 +144,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); @@ -165,6 +166,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 */ |