[Boost-bugs] [Boost C++ Libraries] #2290: Patch for GCC-4.0.1 compatibility (and better compile time).

Subject: [Boost-bugs] [Boost C++ Libraries] #2290: Patch for GCC-4.0.1 compatibility (and better compile time).
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-09-05 19:41:26


#2290: Patch for GCC-4.0.1 compatibility (and better compile time).
--------------------------+-------------------------------------------------
 Reporter: dave | Owner: ramey
     Type: Patches | Status: new
Milestone: Boost 1.37.0 | Component: serialization
  Version: Boost 1.35.0 | Severity: Problem
 Keywords: workaround |
--------------------------+-------------------------------------------------
 This patch makes the tests build on GCC-4.0.1 and leaves out what
 I believe to be the unnecessary step of checking whether a metafunction
 class is actually a placeholder expression. If I'm understanding
 correcetly,
 it will always be a metafunction class, and not just in the tested
 examples.

 Note that this patch is against 1.35.x; I know things have been shuffled
 for
 1.36 but I assume the same transformation can be applied elsewhere.

 {{{
 #!diff
 Index: boost/archive/array/iarchive.hpp
 ===================================================================
 --- boost/archive/array/iarchive.hpp (revision 3118)
 +++ boost/archive/array/iarchive.hpp (working copy)
 @@ -108,7 +108,7 @@
    template<class ValueType>
    void load_override(serialization::array<ValueType> const& x, unsigned
 int version)
    {
 - typedef typename mpl::apply1<
 + typedef typename mpl::apply_wrap1<
          BOOST_DEDUCED_TYPENAME Archive::use_array_optimization
        , ValueType
>::type use_optimized;
 Index: boost/archive/array/oarchive.hpp
 ===================================================================
 --- boost/archive/array/oarchive.hpp (revision 3118)
 +++ boost/archive/array/oarchive.hpp (working copy)
 @@ -107,7 +107,7 @@
    template<class ValueType>
    void save_override(serialization::array<ValueType> const& x, unsigned
 int version)
    {
 - typedef typename mpl::apply1<
 + typedef typename mpl::apply_wrap1<
          BOOST_DEDUCED_TYPENAME Archive::use_array_optimization
        , BOOST_DEDUCED_TYPENAME remove_const<ValueType>::type
>::type use_optimized;
 }}}

-- 
Ticket URL: <http://svn.boost.org/trac/boost/ticket/2290>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:58 UTC