Ticket #1702: boost.twister.patch

File boost.twister.patch, 951 bytes (added by Pavel Vozenilek, 15 years ago)

diff adding serialization for Mersenne twister

  • boost/random/mersenne_twister.hpp

    diff -r 45d1d3143fe3 boost/random/mersenne_twister.hpp
    a b  
    2727#include <boost/random/linear_congruential.hpp>
    2828#include <boost/detail/workaround.hpp>
    2929#include <boost/random/detail/ptr_helper.hpp>
     30#include <boost/serialization/collection_size_type.hpp>
     31#include <boost/serialization/nvp.hpp>
    3032
    3133namespace boost {
    3234namespace random {
    public:  
    152154    mt.i = mt.state_size;
    153155    return is;
    154156  }
     157
     158  friend class boost::serialization::access;
     159
     160  // Serialization
     161  template<class Archive>
     162  void serialize(Archive & ar, const unsigned int /* file_version */){
     163    ar & serialization::make_nvp ("i", i);
     164    ar & serialization::make_nvp ("x", x);
     165  }
     166
    155167#endif
    156168
    157169  friend bool operator==(const mersenne_twister& x, const mersenne_twister& y)