diff options
author | Bruno Haible <bruno@clisp.org> | 2020-07-20 20:06:29 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2020-07-20 20:06:29 +0200 |
commit | 91af6d7383aad01cd43b45dd733b027065743d00 (patch) | |
tree | 70ea617e9893fdd45077c88f8143c666805ac644 /modules/rbtree-oset-tests | |
parent | 2d431ac35c4943a3655c07ba91870d2323321b43 (diff) | |
download | gnulib-91af6d7383aad01cd43b45dd733b027065743d00.tar.gz |
oset: Add an 'update' operation.
* lib/gl_array_oset.c (gl_array_update): New function.
(gl_array_oset_implementation): Use it.
* lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
* lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
* lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
extracted from gl_tree_nx_add_before.
(gl_tree_nx_add_before): Invoke it.
(gl_tree_add_node_after): New function, extracted from
gl_tree_nx_add_after.
(gl_tree_nx_add_after): Invoke it.
(gl_tree_remove_node_no_free): New function, extracted from
gl_tree_remove_node.
(gl_tree_remove_node): Invoke it.
* lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
extracted from gl_tree_nx_add_before.
(gl_tree_nx_add_before): Invoke it.
(gl_tree_add_node_after): New function, extracted from
gl_tree_nx_add_after.
(gl_tree_nx_add_after): Invoke it.
(gl_tree_remove_node_no_free): New function, extracted from
gl_tree_remove_node.
(gl_tree_remove_node): Invoke it.
* lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
from gl_tree_iterator_next.
(gl_tree_iterator_next): Invoke it.
(gl_tree_prev_node, gl_tree_update): New functions.
* lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
(gl_avltree_oset_implementation): Use gl_tree_update.
* lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
(gl_rbtree_oset_implementation): Use gl_tree_update.
* lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
(gl_oset_update): New function.
* lib/gl_oset.hh (gl_OSet): Add 'update' member.
* modules/avltree-oset (configure.ac): Require AC_C_INLINE.
* modules/rbtree-oset (configure.ac): Likewise.
* tests/test-oset-update.h: New file.
* tests/test-array_oset.c: Include test-oset-update.h.
(main): Invoke test_update.
* tests/test-avltree_oset.c: Likewise.
* tests/test-rbtree_oset.c: Likewise.
* modules/array-oset-tests (Files): Add tests/test-oset-update.h.
* modules/avltree-oset-tests (Files): Likewise.
* modules/rbtree-oset-tests (Files): Likewise.
* tests/test-oset-c++.cc (action): New function.
(main): Test the 'update' member function.
Diffstat (limited to 'modules/rbtree-oset-tests')
-rw-r--r-- | modules/rbtree-oset-tests | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/rbtree-oset-tests b/modules/rbtree-oset-tests index 366faf23cc..bac509446f 100644 --- a/modules/rbtree-oset-tests +++ b/modules/rbtree-oset-tests @@ -1,5 +1,6 @@ Files: tests/test-rbtree_oset.c +tests/test-oset-update.h tests/macros.h Depends-on: |