diff --git a/test/helpers/helpers.hpp b/test/helpers/helpers.hpp index 5f816cfe..e34bf259 100644 --- a/test/helpers/helpers.hpp +++ b/test/helpers/helpers.hpp @@ -6,6 +6,8 @@ #if !defined(BOOST_UNORDERED_TEST_HELPERS_HEADER) #define BOOST_UNORDERED_TEST_HELPERS_HEADER +#include + namespace test { template struct get_key_impl { @@ -36,16 +38,16 @@ namespace test { // test::next // // Increments an iterator by 1 or a given value. - // Like boost::next, but simpler and slower. + // Like boost::next, but simpler. + // Mainly because boost::next uses an MPL file + // which causes warnings. template Iterator next(Iterator it) { return ++it; } template Iterator next(Iterator it, IntType x) { - for (; x > 0; --x) { - ++it; - } + std::advance(it, x); return it; } } diff --git a/test/unordered/extract_tests.cpp b/test/unordered/extract_tests.cpp index ae305881..3bbe51d2 100644 --- a/test/unordered/extract_tests.cpp +++ b/test/unordered/extract_tests.cpp @@ -17,7 +17,6 @@ #include "../helpers/test.hpp" #include "../helpers/tracker.hpp" #include "../objects/test.hpp" -#include namespace extract_tests { @@ -94,10 +93,10 @@ namespace extract_tests { if (index == 0) { prev = pos = x.begin(); } else { - prev = boost::next(x.begin(), index - 1); - pos = boost::next(prev); + prev = test::next(x.begin(), index - 1); + pos = test::next(prev); } - next = boost::next(pos); + next = test::next(pos); BOOST_DEDUCED_TYPENAME Container::key_type key = test::get_key(*pos); std::size_t count = x.count(key); @@ -106,7 +105,7 @@ namespace extract_tests { --size; if (size > 0) BOOST_TEST( - index == 0 ? next == x.begin() : next == boost::next(prev)); + index == 0 ? next == x.begin() : next == test::next(prev)); BOOST_TEST(x.count(key) == count - 1); BOOST_TEST(x.size() == size); if (++iterations % 20 == 0) diff --git a/test/unordered/merge_tests.cpp b/test/unordered/merge_tests.cpp index 3c27b745..897abb34 100644 --- a/test/unordered/merge_tests.cpp +++ b/test/unordered/merge_tests.cpp @@ -15,7 +15,6 @@ #include "../helpers/test.hpp" #include "../helpers/tracker.hpp" #include "../objects/test.hpp" -#include namespace merge_tests { @@ -174,8 +173,8 @@ namespace merge_tests { test::random_values v1(1000, generator); test::random_values v2(1000, generator); - v1.insert(v2.begin(), boost::next(v2.begin(), 100)); - v2.insert(v1.begin(), boost::next(v1.begin(), 100)); + v1.insert(v2.begin(), test::next(v2.begin(), 100)); + v2.insert(v1.begin(), test::next(v1.begin(), 100)); X1 x1(v1.begin(), v1.end(), 0, test::hash(hash_equal1), test::equal_to(hash_equal1)); @@ -207,8 +206,8 @@ namespace merge_tests { test::random_values v1(1000, generator); test::random_values v2(1000, generator); - v1.insert(v2.begin(), boost::next(v2.begin(), 100)); - v2.insert(v1.begin(), boost::next(v1.begin(), 100)); + v1.insert(v2.begin(), test::next(v2.begin(), 100)); + v2.insert(v1.begin(), test::next(v1.begin(), 100)); X1 x1(v1.begin(), v1.end(), 0, test::hash(hash_equal1), test::equal_to(hash_equal1));