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. +