summaryrefslogtreecommitdiffstats
path: root/src/H5SLprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2005-01-06 22:30:10 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2005-01-06 22:30:10 (GMT)
commite9109df3f235a0a64e7204339a44ae24f2a607a3 (patch)
treea5bdd1ceebea5d22f0e9ba3b3337c59a92dd2020 /src/H5SLprivate.h
parent4357fccbd3bb8367d54604eefc9ea7c537edb023 (diff)
downloadhdf5-e9109df3f235a0a64e7204339a44ae24f2a607a3.zip
hdf5-e9109df3f235a0a64e7204339a44ae24f2a607a3.tar.gz
hdf5-e9109df3f235a0a64e7204339a44ae24f2a607a3.tar.bz2
[svn-r9764] Purpose:
New feature Description: Add some additional features to the skip list code that was needed to fully support all the features that the threaded, balanced binary tree code has. Also, updated the property list code to take advantage of a few of the new features. Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
Diffstat (limited to 'src/H5SLprivate.h')
-rw-r--r--src/H5SLprivate.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/H5SLprivate.h b/src/H5SLprivate.h
index f3944f4..bf8d3b7 100644
--- a/src/H5SLprivate.h
+++ b/src/H5SLprivate.h
@@ -43,7 +43,8 @@ typedef enum {
H5SL_TYPE_INT, /* Skip list keys are 'int's */
H5SL_TYPE_HADDR, /* Skip list keys are 'haddr_t's */
H5SL_TYPE_STR, /* Skip list keys are 'char *'s (ie. strings) */
- H5SL_TYPE_HSIZE /* Skip list keys are 'hsize_t's */
+ H5SL_TYPE_HSIZE, /* Skip list keys are 'hsize_t's */
+ H5SL_TYPE_UNSIGNED /* Skip list keys are 'unsigned's */
} H5SL_type_t;
/**********/
@@ -61,14 +62,21 @@ typedef herr_t (*H5SL_operator_t)(void *item, void *key,
H5_DLL H5SL_t *H5SL_create(H5SL_type_t type, double p, size_t max_level);
H5_DLL size_t H5SL_count(H5SL_t *slist);
H5_DLL herr_t H5SL_insert(H5SL_t *slist, void *item, const void *key);
+H5_DLL H5SL_node_t *H5SL_add(H5SL_t *slist, void *item, const void *key);
H5_DLL void *H5SL_remove(H5SL_t *slist, const void *key);
H5_DLL void *H5SL_search(H5SL_t *slist, const void *key);
+H5_DLL void *H5SL_less(H5SL_t *slist, const void *key);
+H5_DLL H5SL_node_t *H5SL_find(H5SL_t *slist, const void *key);
H5_DLL H5SL_node_t *H5SL_first(H5SL_t *slist);
H5_DLL H5SL_node_t *H5SL_next(H5SL_node_t *slist_node);
+H5_DLL H5SL_node_t *H5SL_prev(H5SL_node_t *slist_node);
+H5_DLL H5SL_node_t *H5SL_last(H5SL_t *slist);
H5_DLL void *H5SL_item(H5SL_node_t *slist_node);
H5_DLL herr_t H5SL_iterate(H5SL_t *slist, H5SL_operator_t op, void *op_data);
H5_DLL herr_t H5SL_release(H5SL_t *slist);
+H5_DLL herr_t H5SL_free(H5SL_t *slist, H5SL_operator_t op, void *op_data);
H5_DLL herr_t H5SL_close(H5SL_t *slist);
+H5_DLL herr_t H5SL_destroy(H5SL_t *slist, H5SL_operator_t op, void *op_data);
#endif /* _H5SLprivate_H */