Ticket #2271: load_1.35_vector.patch

File load_1.35_vector.patch, 974 bytes (added by Ryan Mulder <rjmyst3@…>, 14 years ago)
  • vector.hpp

     
    2121
    2222#include <boost/config.hpp>
    2323#include <boost/detail/workaround.hpp>
     24#include <boost/detail/has_default_constructor.hpp>
    2425
    2526#include <boost/serialization/collections_save_imp.hpp>
    2627#include <boost/serialization/collections_load_imp.hpp>
     
    125126    std::vector<U, Allocator> &t,
    126127    const unsigned int file_version
    127128){
    128     load(ar,t,file_version, BOOST_DEDUCED_TYPENAME use_array_optimization<Archive>::template apply<U>::type());
     129        if(BOOST_SERIALIZATION_VECTOR_VERSION < ar.get_library_version())
     130        {
     131                load(ar,t,file_version, BOOST_DEDUCED_TYPENAME use_array_optimization<Archive>::template apply<U>::type() );
     132        }
     133        else
     134        {
     135                load(ar,t,file_version, boost::detail::has_default_constructor<U>() );         
     136        }
    129137}
    130138
    131139// split non-intrusive serialization function member into separate