diff --git a/include/boost/unordered/detail/implementation.hpp b/include/boost/unordered/detail/implementation.hpp index 4b669fd5..331cbe9f 100644 --- a/include/boost/unordered/detail/implementation.hpp +++ b/include/boost/unordered/detail/implementation.hpp @@ -2179,8 +2179,8 @@ template <> struct pick_policy_impl<64, 2> }; template -struct pick_policy : pick_policy_impl::digits, - std::numeric_limits::radix> +struct pick_policy2 : pick_policy_impl::digits, + std::numeric_limits::radix> { }; @@ -2190,39 +2190,44 @@ struct pick_policy : pick_policy_impl::digits, // prime policy for integeral types. But not the smaller ones, as they // don't have enough unique values for this to be an issue. -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; // TODO: Maybe not if std::size_t is smaller than long long. #if !defined(BOOST_NO_LONG_LONG) -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; -template <> struct pick_policy +template <> struct pick_policy2 { typedef prime_policy type; }; #endif +template +struct pick_policy : pick_policy2::type> +{ +}; + //////////////////////////////////////////////////////////////////////////// // Functions