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