Allow hashing of enums. Fixes errors like /opt/poky/1.3.0-1/sysroots/i586-poky-linux/usr/include/boost/functional/hash/extensions.hpp:257:34: error: no matching function for call to 'hash_value(const myspace::idx&)' Upstream-Status: Pending Singed-off-by: Khem Raj Index: boost_1_51_0/boost/functional/hash/hash.hpp =================================================================== --- boost_1_51_0.orig/boost/functional/hash/hash.hpp 2012-07-15 16:28:30.000000000 -0700 +++ boost_1_51_0/boost/functional/hash/hash.hpp 2012-09-26 14:00:57.738364002 -0700 @@ -15,6 +15,8 @@ #include #include #include +#include +#include #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #include @@ -89,6 +91,9 @@ typename boost::hash_detail::long_numbers::type hash_value(T); template typename boost::hash_detail::ulong_numbers::type hash_value(T); + template + typename boost::enable_if, std::size_t>::type + hash_value(T); #if !BOOST_WORKAROUND(__DMC__, <= 0x848) template std::size_t hash_value(T* const&); @@ -178,7 +183,12 @@ { return hash_detail::hash_value_unsigned(v); } - + template + typename boost::enable_if, std::size_t>::type + hash_value(T v) + { + return static_cast(v); + } // Implementation by Alberto Barbati and Dave Harris. #if !BOOST_WORKAROUND(__DMC__, <= 0x848) template std::size_t hash_value(T* const& v)