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