Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#97 Fix some Boost.TypeTraits-related issues.

5.0
open
5
2009-08-17
2009-08-17
David Deakins
No

In few different situations, STLport's attempt to use the Boost.TypeTraits library resulted in circular dependencies or other errors.

A few fixes were required to resolve this:
1) In stlport/stl/_prolog.h, hide _debug.h when cstddef is the outermost header, since some of the Boost.TypeTraits headers include this to get std::size_t.
2) In stlport/stl/type_traits.h, the inclusion of boost/type_traits/remove_const.hpp was missing.
3) In stlport/stl/boost_type_traits.h, if BOOST_NO_STDC_NAMESPACE is defined, we need to pull size_t and ptrdiff_t into namespace std. This is because std may have been redefined to another name when boost/config/suffix.hpp was included, but this redef will not be present where boost_type_traits.h is included and thus the Boost.TypeTraits files may not be able to find size_t and ptrdiff_t in std unless the fix is present.
4) In stlport/functional and stlport/memory, we add the use of the BOOST_TR1_NO_RECURSION define to detect cases where the related Boost components have caused this header to be included.

Discussion

  • David Deakins
    David Deakins
    2009-08-17

    • assigned_to: nobody --> complement
     
  • David Deakins
    David Deakins
    2009-09-09

    Just checking to see if you had any thoughts on these Boost.TypeTraits-related fixes?