2008-09-07 Timo Bingmann
* speedtest.cc: Modifying speedtest to also test the hash table
container implementation from __gnu_cxx. Extending tests by
another set of runs measuring only the find/lookup functions.
2008-09-03 Timo Bingmann
* btree.h: Fixing crash when running verify() on an empty btree
object. Now the root node is freed when the last item is
removed. Also fixing crash when attempting to copy an empty btree
or when trying to remove a non-existing item from an empty btree.
2008-08-13 Timo Bingmann
* btree.h: Replacing many / 2 integer divisions with >> 1 as
suggested by received e-mails. This may or may not improve
speed. I personally doubt it, because modern compilers should
optimize these simple instructions.
2008-08-01 Timo Bingmann
* btree.h: Completely reworked reverse_iterator classes. Now they
are real implementations and do not use STL magic. Both
reverse_iterator and const_reverse_iterator should work as
expected now. Added two large test cases for iterators. Also
enabling public Default-Constructor on iterators.
2008-08-01 Timo Bingmann
* btree.h: Fixing up a memory access bug which happens in
leaf->slotkey[leaf->slotuse - 1] if leaf-slotuse == 0. This doesnt
have any other bad effect, because the case only occurs when leaf
== root and thus the btree_update_lastkey message is never really
processed. However it still is a bad-memory access.
2008-01-25 Timo Bingmann
* btree.h: Fixed a valgrind-detected bug based on a new test case
received via email. During the find() function find_lower() is
called and returns the slot number with the smallest or equal
key. However if the queried key is larger than all keys in a leaf
node or in the whole tree, find_lower() returns a slot number past
the last valid key slot. Comparison of this invalid slot with the
queried key then yields an uninitialized memory error in valgrind.
2007-05-12 Timo Bingmann
* btree.h: Fixed segfault in print() because of non-existing root.
Fixed segfault in end() when the tree is totally empty.
Added BTREE_FRIENDS macro so that wxBTreeDemo can
access private members.
Changing print function to output to a user-given
std::ostream