diff options
Diffstat (limited to 'boost/functional/hash/hash.hpp')
-rw-r--r-- | boost/functional/hash/hash.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/boost/functional/hash/hash.hpp b/boost/functional/hash/hash.hpp index 76c4897ebe..b461f5f0d7 100644 --- a/boost/functional/hash/hash.hpp +++ b/boost/functional/hash/hash.hpp @@ -107,6 +107,16 @@ namespace boost boost::hash_detail::enable_hash_value {}; #endif +#if !defined(BOOST_NO_CXX11_CHAR16_T) + template <> struct basic_numbers<char16_t> : + boost::hash_detail::enable_hash_value {}; +#endif + +#if !defined(BOOST_NO_CXX11_CHAR32_T) + template <> struct basic_numbers<char32_t> : + boost::hash_detail::enable_hash_value {}; +#endif + // long_numbers is defined like this to allow for separate // specialization for long_long and int128_type, in case // they conflict. @@ -456,6 +466,12 @@ namespace boost #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) BOOST_HASH_SPECIALIZE(wchar_t) #endif +#if !defined(BOOST_NO_CXX11_CHAR16_T) + BOOST_HASH_SPECIALIZE(char16_t) +#endif +#if !defined(BOOST_NO_CXX11_CHAR32_T) + BOOST_HASH_SPECIALIZE(char32_t) +#endif BOOST_HASH_SPECIALIZE(short) BOOST_HASH_SPECIALIZE(unsigned short) BOOST_HASH_SPECIALIZE(int) @@ -471,6 +487,12 @@ namespace boost #if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) BOOST_HASH_SPECIALIZE_REF(std::wstring) #endif +#if !defined(BOOST_NO_CXX11_CHAR16_T) + BOOST_HASH_SPECIALIZE_REF(std::basic_string<char16_t>) +#endif +#if !defined(BOOST_NO_CXX11_CHAR32_T) + BOOST_HASH_SPECIALIZE_REF(std::basic_string<char32_t>) +#endif #if !defined(BOOST_NO_LONG_LONG) BOOST_HASH_SPECIALIZE(boost::long_long_type) |