diff --git a/hash/doc/changes.qbk b/hash/doc/changes.qbk
index 5dc691f..aadeb97 100644
--- a/hash/doc/changes.qbk
+++ b/hash/doc/changes.qbk
@@ -171,6 +171,7 @@
[h2 Boost 1.56.0]
* Removed some Visual C++ 6 workarounds.
-* Ongoing work on improving `hash_combine`.
+* Ongoing work on improving `hash_combine`. This changes the combine function
+ which was previously defined in the reference documentation.
[endsect]
diff --git a/hash/doc/ref.xml b/hash/doc/ref.xml
index d7c427c..5fcd43b 100644
--- a/hash/doc/ref.xml
+++ b/hash/doc/ref.xml
@@ -59,6 +59,11 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Forward declared in
<boost/functional/hash_fwd.hpp>
+
+ This hash function is not intended for general use, and isn't
+ guaranteed to be equal during separate runs of a program - so
+ please don't use it for any persistent storage or communication.
+
Only throws if
@@ -450,7 +455,15 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Called repeatedly to incrementally create a hash value from
several variables.
- seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
+
+ Updates seed
with a new hash value generated by
+ combining it with the result of
+ hash_value(v)
. Will
+ always produce the same result for the same combination of
+ seed
and
+ hash_value(v)
during
+ the single run of a program.
+
hash_value is called without
qualification, so that overloads can be found via ADL.
@@ -459,6 +472,11 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Forward declared in
<boost/functional/hash_fwd.hpp>
+
+ This hash function is not intended for general use, and isn't
+ guaranteed to be equal during separate runs of a program - so
+ please don't use it for any persistent storage or communication.
+
Only throws if hash_value(T) throws.
@@ -527,6 +545,11 @@ for(; first != last; ++first)
Forward declared in
<boost/functional/hash_fwd.hpp>
+
+ This hash function is not intended for general use, and isn't
+ guaranteed to be equal during separate runs of a program - so
+ please don't use it for any persistent storage or communication.
+
Only throws if hash_value(std::iterator_traits<It>::value_type)
@@ -784,6 +807,11 @@ for(; first != last; ++first)
This is an extension to TR1
+
+ This hash function is not intended for general use, and isn't
+ guaranteed to be equal during separate runs of a program - so
+ please don't use it for any persistent storage or communication.
+