Three algorithm functions of gcc's  C++ STL test suite do not work with dbstl.  They are
    find_end(), inplace_merge() and
    stable_sort().
    The reason for the incompatibility of find_end() is that it assumes the
    data an iterator refers to is located at a shared place (owned by its container). This
    assumption is not correct in that it is part of the C++ STL standards specification.  However,
    this assumption can not be true for dbstl because each dbstl container iterator caches its
    referenced value.
    Consequently, please do not use find_end() for dbstl container iterators if
    you are using gcc's STL library.
    The reason for the incompatibility with inplace_merge() and
    stable_sort() is that their implementation in gcc requires the
    value_type for a container to be default constructible. This
    requirement is not a part of the the C++ STL standard specification. Dbstl's value type
    wrappers (such as ElementHolder) do not support it.
    These issues do not exist for any function available with the Microsoft
    Visual C++ 8 STL library. There are two algorithm functions of Microsoft
    Visual C++ 10 STL library that do have an issue:
    partial_sort() and
    partial_sort_copy().  These are not compatible because they
    require the dbstl vector iterator to create a new
    element when updating the current element. Dbstl
    vector iterator can copy the new content to the
    current element, but it cannot create a new one. This requirement is
    not a part of the C++ STL standard specification, and so dbstl's
    vector iterator does not support it.