libkdtree-0.6.3 is released

Sylvain Bougerel sylvain.bougerel.devel at gmail.com
Mon Nov 17 08:49:14 UTC 2008


Added ChangeLog entries since version 0.6.2:

2008-11-17  Sylvain Bougerel  <sylvain.bougerel at asia.thalesgroup.com>

        - The version number of the library is now part of the headers.
        - Fixed a bug with assignment operator.
        - Fixed uninitialized memory problem with valgrind, when printing the
        content of the tree. Due to the fact the _M_header was a _Link_type
        instead of a _Node_base type and _M_root was a _Base_ptr type instead of
        a _Link_type.
        - Paul Harris fixed find() by ensuring that the correct node is being
        matched during a find(). Thus, fixed a similar problem in erase. Paul
        also added a new test courtesy of Hayne.
        - Paul Harris augmented test_kdtree with various test on copy
        construction, assignment, and formatting operator.
        - Paul Harris added support for CMake, which should suit not only
        MSVC users but others too.
        - Paul Harris fixed bug with compiling with MSVC2005 with the 64bit
        warnings turned on.

2008-11-12  Sylvain Bougerel  <sylvain.bougerel at asia.thalesgroup.com>

        - Fix segfault on the regular iterator when _M_header->_M_right ==
        _M_root. Fix segfault on the reverse iterator when _M_header->_M_left ==
        _M_root.

        Besides, it also change the behavior when iterating past the end() or
        rend(). Previously this would result in segfaults, now it makes the
        iterator points to an undetermined location in the tree, similarly to
        the current implementation of GNU libstdc++.

2008-11-10  Sylvain Bougerel  <sylvain.bougerel at asia.thalesgroup.com>

        - kdtree++/iterator.hpp (KDTree): the decrement iterator was
        ill-written. Its buggy behavior, and the use of non-standard
        reverse_iterator initialiser needed to be fixed. These error were do to
        a previous failed attempt by me at fixing the reverse_iterator.

       This time, I believe I got it right, however it needed the kdtree
        structure to be modified. The reason is that without modification it is
        not possible to distinguish the "header" from the "root" within the
        iterator. This is required for the reverse_iterator to work properly.

        Now the kdtree has an additional pointer that points directly to the
        root. The parent pointer of the header is permanently null. And
        therefore the header can be distinguished from the root within the
        iterator by checking the parent of the current node: if it is null, we
        are at the header.

2008-11-10 Sylvain Bougerel (sylvain.bougerel.devel at gmail.com)

        - patch from Martin Shreiber to make libkdtree to compile with newer
        version of g++-4.2 and g++4.3.

        - patch from Paul Harris to make libkdtree more exception transparent.



More information about the libkdtree-devel mailing list