summaryrefslogtreecommitdiff
path: root/boost/functional/hash/hash.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/functional/hash/hash.hpp')
-rw-r--r--boost/functional/hash/hash.hpp22
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)