worked around lack of std::shuffle in VS2010

This commit is contained in:
joaquintides
2023-08-18 10:35:55 +02:00
parent 6dd58f4e9c
commit 829a4a1620

View File

@ -13,6 +13,7 @@
#include <boost/archive/xml_oarchive.hpp> #include <boost/archive/xml_oarchive.hpp>
#include <boost/archive/xml_iarchive.hpp> #include <boost/archive/xml_iarchive.hpp>
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/config/workaround.hpp>
#include <boost/serialization/nvp.hpp> #include <boost/serialization/nvp.hpp>
#include <boost/serialization/string.hpp> #include <boost/serialization/string.hpp>
#include <boost/serialization/utility.hpp> #include <boost/serialization/utility.hpp>
@ -21,7 +22,11 @@
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
#ifndef BOOST_NO_CXX11_HDR_RANDOM #if defined(BOOST_NO_CXX11_HDR_RANDOM) || BOOST_WORKAROUND(BOOST_MSVC, < 1700)
#define BOOST_UNORDERED_TEST_USE_STD_RANDOM_SHUFFLE
#endif
#ifndef BOOST_UNORDERED_TEST_USE_STD_RANDOM_SHUFFLE
#include <random> #include <random>
#endif #endif
@ -71,10 +76,10 @@ namespace {
++first; ++first;
} }
#ifndef BOOST_NO_CXX11_HDR_RANDOM #ifdef BOOST_UNORDERED_TEST_USE_STD_RANDOM_SHUFFLE
std::shuffle(v.begin(), v.end(), std::mt19937(4213));
#else
std::random_shuffle(v.begin(), v.end()); std::random_shuffle(v.begin(), v.end());
#else
std::shuffle(v.begin(), v.end(), std::mt19937(4213));
#endif #endif
std::ostringstream oss; std::ostringstream oss;