From 9eb6f1fda48afdf7b2051063a320d17717ac9b70 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Tue, 8 Oct 2013 21:26:30 +0000 Subject: [PATCH] Merge release notes + float hash fix. Ref #8822. [SVN r86210] --- hash/doc/changes.qbk | 9 +++++++++ .../boost/functional/hash/detail/hash_float.hpp | 17 ++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/hash/doc/changes.qbk b/hash/doc/changes.qbk index 4ca0814..c824e1a 100644 --- a/hash/doc/changes.qbk +++ b/hash/doc/changes.qbk @@ -3,6 +3,8 @@ / 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) ] +[template ticket[number]''''''#[number]''''''] + [section:changes Change Log] [h2 Boost 1.33.0] @@ -160,4 +162,11 @@ * [@https://svn.boost.org/trac/boost/ticket/7957 Ticket 7957]: Fixed a typo. +[h2 Boost 1.55.0] + +* Simplify a SFINAE check so that it will hopefully work on Sun 5.9 + ([ticket 8822]). +* Suppress Visual C++ infinite loop warning ([ticket 8568]). + + [endsect] diff --git a/include/boost/functional/hash/detail/hash_float.hpp b/include/boost/functional/hash/detail/hash_float.hpp index 2ac22da..7c3de31 100644 --- a/include/boost/functional/hash/detail/hash_float.hpp +++ b/include/boost/functional/hash/detail/hash_float.hpp @@ -103,7 +103,8 @@ namespace boost template inline std::size_t float_hash_impl(Float v, BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, int>::type) + enable_binary_hash::value, + std::size_t>::type) { return hash_binary((char*) &v, 4); } @@ -112,7 +113,8 @@ namespace boost template inline std::size_t float_hash_impl(Float v, BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, int>::type) + enable_binary_hash::value, + std::size_t>::type) { return hash_binary((char*) &v, 8); } @@ -120,7 +122,8 @@ namespace boost template inline std::size_t float_hash_impl(Float v, BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, int>::type) + enable_binary_hash::value, + std::size_t>::type) { return hash_binary((char*) &v, 10); } @@ -128,12 +131,8 @@ namespace boost template inline std::size_t float_hash_impl(Float v, BOOST_DEDUCED_TYPENAME boost::enable_if_c< - std::numeric_limits::is_iec559 && - std::numeric_limits::digits == 113 && - std::numeric_limits::radix == 2 && - std::numeric_limits::max_exponent == 16384, - int>::type - ) + enable_binary_hash::value, + std::size_t>::type) { return hash_binary((char*) &v, 16); }