diff --git a/include/boost/unordered/detail/hash_table.hpp b/include/boost/unordered/detail/hash_table.hpp index 26a0455a..2a7431ff 100644 --- a/include/boost/unordered/detail/hash_table.hpp +++ b/include/boost/unordered/detail/hash_table.hpp @@ -83,7 +83,7 @@ namespace boost { 1610612741ul, 3221225473ul, 4294967291ul }; template - std::ptrdiff_t const prime_list_template::length = 28; + std::ptrdiff_t const prime_list_template::length = 40; typedef prime_list_template prime_list; diff --git a/test/unordered/Jamfile.v2 b/test/unordered/Jamfile.v2 index 9ecec284..a524fa31 100644 --- a/test/unordered/Jamfile.v2 +++ b/test/unordered/Jamfile.v2 @@ -37,4 +37,5 @@ test-suite unordered [ run rehash_tests.cpp ] [ run equality_tests.cpp ] [ run swap_tests.cpp : : : BOOST_UNORDERED_SWAP_METHOD=2 ] + [ run detail_tests.cpp ] ; diff --git a/test/unordered/detail_tests.cpp b/test/unordered/detail_tests.cpp new file mode 100644 index 00000000..daa89895 --- /dev/null +++ b/test/unordered/detail_tests.cpp @@ -0,0 +1,27 @@ + +// Copyright 2009 Daniel James. +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// Test some of the library's implementation details. + +#include +#include + +#include +#include + +int main() { + + // Test that the prime list has the right length. + // + // It would have been better to automatically set the length in the header + // but that doesn't work on some older compilers. + + BOOST_TEST_EQ( + boost::end(boost::unordered_detail::prime_list::value) - + boost::begin(boost::unordered_detail::prime_list::value), + boost::unordered_detail::prime_list::length); + + return boost::report_errors(); +} \ No newline at end of file