diff options
author | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
commit | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (patch) | |
tree | 7a7053ceb8874b28ec4b868d4c49b500008a102e /doc/html/hash | |
parent | bb4dd8289b351fae6b55e303f189127a394a1edd (diff) | |
download | boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.gz boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.bz2 boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.zip |
Imported Upstream version 1.57.0upstream/1.57.0
Diffstat (limited to 'doc/html/hash')
-rw-r--r-- | doc/html/hash/acknowledgements.html | 6 | ||||
-rw-r--r-- | doc/html/hash/changes.html | 158 | ||||
-rw-r--r-- | doc/html/hash/combine.html | 6 | ||||
-rw-r--r-- | doc/html/hash/custom.html | 6 | ||||
-rw-r--r-- | doc/html/hash/disable.html | 4 | ||||
-rw-r--r-- | doc/html/hash/links.html | 10 | ||||
-rw-r--r-- | doc/html/hash/portability.html | 4 | ||||
-rw-r--r-- | doc/html/hash/rationale.html | 16 | ||||
-rw-r--r-- | doc/html/hash/reference.html | 252 | ||||
-rw-r--r-- | doc/html/hash/tutorial.html | 6 |
10 files changed, 296 insertions, 172 deletions
diff --git a/doc/html/hash/acknowledgements.html b/doc/html/hash/acknowledgements.html index 97c364a9cb..a38f44f0ea 100644 --- a/doc/html/hash/acknowledgements.html +++ b/doc/html/hash/acknowledgements.html @@ -3,11 +3,11 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Acknowledgements</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="links.html" title="Links"> -<link rel="next" href="../heap.html" title="Chapter 11. Boost.Heap"> +<link rel="next" href="../heap.html" title="Chapter 13. Boost.Heap"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> diff --git a/doc/html/hash/changes.html b/doc/html/hash/changes.html index 5db0d97b79..bca5322fd7 100644 --- a/doc/html/hash/changes.html +++ b/doc/html/hash/changes.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Change Log</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="disable.html" title="Disabling The Extensions"> <link rel="next" href="rationale.html" title="Rationale"> </head> @@ -28,26 +28,26 @@ </h2></div></div></div> <h3> <a name="hash.changes.h0"></a> - <span><a name="hash.changes.boost_1_33_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_33_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_33_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_33_0">Boost 1.33.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> Initial Release </li></ul></div> <h3> <a name="hash.changes.h1"></a> - <span><a name="hash.changes.boost_1_33_1"></a></span><a class="link" href="changes.html#hash.changes.boost_1_33_1">Boost + <span class="phrase"><a name="hash.changes.boost_1_33_1"></a></span><a class="link" href="changes.html#hash.changes.boost_1_33_1">Boost 1.33.1</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> Fixed the points example, as pointed out by 沈慧峰. </li></ul></div> <h3> <a name="hash.changes.h2"></a> - <span><a name="hash.changes.boost_1_34_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_34_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_34_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_34_0">Boost 1.34.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Use declarations for standard classes, so that the library doesn't need to include all of their headers @@ -70,26 +70,26 @@ </ul></div> <h3> <a name="hash.changes.h3"></a> - <span><a name="hash.changes.boost_1_34_1"></a></span><a class="link" href="changes.html#hash.changes.boost_1_34_1">Boost + <span class="phrase"><a name="hash.changes.boost_1_34_1"></a></span><a class="link" href="changes.html#hash.changes.boost_1_34_1">Boost 1.34.1</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> <a href="http://svn.boost.org/trac/boost/ticket/952" target="_top">Ticket 952</a>: Suppress incorrect 64-bit warning on Visual C++. </li></ul></div> <h3> <a name="hash.changes.h4"></a> - <span><a name="hash.changes.boost_1_35_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_35_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_35_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_35_0">Boost 1.35.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Support for <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code>. </li> <li class="listitem"> Improved algorithm for hashing floating point numbers: - <div class="itemizedlist"><ul class="itemizedlist" type="circle"> + <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "> <li class="listitem"> Improved portablity, as described by Daniel Krügler in <a href="http://lists.boost.org/boost-users/2005/08/13418.php" target="_top">a post to the boost users list</a>. @@ -125,7 +125,7 @@ </li> <li class="listitem"> A few bug and warning fixes: - <div class="itemizedlist"><ul class="itemizedlist" type="circle"> + <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "> <li class="listitem"> <a href="http://svn.boost.org/trac/boost/ticket/1509" target="_top">Ticket 1509</a>: Suppress another Visual C++ warning. @@ -138,10 +138,10 @@ </ul></div> <h3> <a name="hash.changes.h5"></a> - <span><a name="hash.changes.boost_1_36_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_36_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_36_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_36_0">Boost 1.36.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Stop using OpenBSD's dodgy <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>. </li> @@ -156,10 +156,10 @@ </ul></div> <h3> <a name="hash.changes.h6"></a> - <span><a name="hash.changes.boost_1_37_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_37_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_37_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_37_0">Boost 1.37.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> <a href="http://svn.boost.org/trac/boost/ticket/2264" target="_top">Ticket 2264</a>: In Visual C++, always use C99 float functions for <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">float</span></code> @@ -167,10 +167,10 @@ </li></ul></div> <h3> <a name="hash.changes.h7"></a> - <span><a name="hash.changes.boost_1_38_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_38_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_38_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_38_0">Boost 1.38.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Changed the warnings in the deprecated headers from 1.34.0 to errors. These will be removed in a future version of Boost. @@ -184,10 +184,10 @@ </ul></div> <h3> <a name="hash.changes.h8"></a> - <span><a name="hash.changes.boost_1_39_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_39_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_39_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_39_0">Boost 1.39.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Move the hash_fwd.hpp implementation into the hash subdirectory, leaving a forwarding header in the old location. You should still use the old location, @@ -204,10 +204,10 @@ </ul></div> <h3> <a name="hash.changes.h9"></a> - <span><a name="hash.changes.boost_1_40_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_40_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_40_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_40_0">Boost 1.40.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Automatically configure the float functions using template metaprogramming instead of trying to configure every possibility manually. @@ -218,10 +218,10 @@ </ul></div> <h3> <a name="hash.changes.h10"></a> - <span><a name="hash.changes.boost_1_42_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_42_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_42_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_42_0">Boost 1.42.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> Reduce the number of warnings for Visual C++ warning level 4. </li> @@ -234,10 +234,10 @@ </ul></div> <h3> <a name="hash.changes.h11"></a> - <span><a name="hash.changes.boost_1_43_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_43_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_43_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_43_0">Boost 1.43.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> <a href="https://svn.boost.org/trac/boost/ticket/3866" target="_top">Ticket 3866</a>: Don't foward declare containers when using gcc's parallel library, allow @@ -254,10 +254,10 @@ </ul></div> <h3> <a name="hash.changes.h12"></a> - <span><a name="hash.changes.boost_1_44_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_44_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_44_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_44_0">Boost 1.44.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> Add option to prevent implicit conversions when calling <code class="computeroutput"><span class="identifier">hash_value</span></code> by defining <code class="computeroutput"><span class="identifier">BOOST_HASH_NO_IMPLICIT_CASTS</span></code>. When using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> for a type that does not have <code class="computeroutput"><span class="identifier">hash_value</span></code> declared but does have an @@ -270,18 +270,18 @@ </li></ul></div> <h3> <a name="hash.changes.h13"></a> - <span><a name="hash.changes.boost_1_46_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_46_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_46_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_46_0">Boost 1.46.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> Avoid warning due with gcc's <code class="computeroutput"><span class="special">-</span><span class="identifier">Wconversion</span></code> flag. </li></ul></div> <h3> <a name="hash.changes.h14"></a> - <span><a name="hash.changes.boost_1_50_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_50_0">Boost + <span class="phrase"><a name="hash.changes.boost_1_50_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_50_0">Boost 1.50.0</a> </h3> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> <a href="http://svn.boost.org/trac/boost/ticket/6771" target="_top">Ticket 6771</a>: Avoid gcc's <code class="computeroutput"><span class="special">-</span><span class="identifier">Wfloat</span><span class="special">-</span><span class="identifier">equal</span></code> @@ -296,6 +296,96 @@ Add deprecation warning to the long deprecated <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">container_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code>. </li> </ul></div> +<h3> +<a name="hash.changes.h15"></a> + <span class="phrase"><a name="hash.changes.boost_1_51_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_51_0">Boost + 1.51.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> + Support the standard smart pointers. + </li> +<li class="listitem"> + <code class="computeroutput"><span class="identifier">hash_value</span></code> now implemented + using SFINAE to avoid implicit casts to built in types when calling it. + </li> +<li class="listitem"> + Updated to use the new config macros. + </li> +</ul></div> +<h3> +<a name="hash.changes.h16"></a> + <span class="phrase"><a name="hash.changes.boost_1_52_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_52_0">Boost + 1.52.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> + Restore <code class="computeroutput"><span class="keyword">enum</span></code> support, which + was accidentally removed in the last version. + </li> +<li class="listitem"> + New floating point hasher - will hash the binary representation on more + platforms, which should be faster. + </li> +</ul></div> +<h3> +<a name="hash.changes.h17"></a> + <span class="phrase"><a name="hash.changes.boost_1_53_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_53_0">Boost + 1.53.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> + Add support for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int128_type</span></code> and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint128_type</span></code> + where available - currently only <code class="computeroutput"><span class="identifier">__int128</span></code> + and <code class="computeroutput"><span class="keyword">unsigned</span> <span class="identifier">__int128</span></code> + on some versions of gcc. + </li> +<li class="listitem"> + On platforms that are known to have the standard floating point functions, + don't use automatic detection - which can break if there are ambiguous + overloads. + </li> +<li class="listitem"> + Fix undefined behaviour when using the binary float hash (Thomas Heller). + </li> +</ul></div> +<h3> +<a name="hash.changes.h18"></a> + <span class="phrase"><a name="hash.changes.boost_1_54_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_54_0">Boost + 1.54.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> + <a href="https://svn.boost.org/trac/boost/ticket/7957" target="_top">Ticket 7957</a>: + Fixed a typo. + </li></ul></div> +<h3> +<a name="hash.changes.h19"></a> + <span class="phrase"><a name="hash.changes.boost_1_55_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_55_0">Boost + 1.55.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> + Simplify a SFINAE check so that it will hopefully work on Sun 5.9 (<a href="https://svn.boost.org/trac/boost/ticket/8822" target="_top">#8822</a>). + </li> +<li class="listitem"> + Suppress Visual C++ infinite loop warning (<a href="https://svn.boost.org/trac/boost/ticket/8568" target="_top">#8568</a>). + </li> +</ul></div> +<h3> +<a name="hash.changes.h20"></a> + <span class="phrase"><a name="hash.changes.boost_1_56_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_56_0">Boost + 1.56.0</a> + </h3> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> + Removed some Visual C++ 6 workarounds. + </li> +<li class="listitem"> + Ongoing work on improving <code class="computeroutput"><span class="identifier">hash_combine</span></code>. + This changes the combine function which was previously defined in the reference + documentation. + </li> +</ul></div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> diff --git a/doc/html/hash/combine.html b/doc/html/hash/combine.html index 8ede91f552..568e74b98c 100644 --- a/doc/html/hash/combine.html +++ b/doc/html/hash/combine.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Combining hash values</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="custom.html" title="Extending boost::hash for a custom data type"> <link rel="next" href="portability.html" title="Portability"> </head> @@ -69,7 +69,7 @@ <p> Calls to hash_combine incrementally build the hash from the different members of point, it can be repeatedly called for any number of elements. It calls - <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a></code> on the supplied + <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a></code> on the supplied element, and combines it with the seed. </p> <p> diff --git a/doc/html/hash/custom.html b/doc/html/hash/custom.html index dd4dcbd449..4950a84b2b 100644 --- a/doc/html/hash/custom.html +++ b/doc/html/hash/custom.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Extending boost::hash for a custom data type</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="tutorial.html" title="Tutorial"> <link rel="next" href="combine.html" title="Combining hash values"> </head> @@ -28,7 +28,7 @@ </h2></div></div></div> <p> <code class="computeroutput"><a class="link" href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> is implemented by calling - the function <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a></code>. + the function <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a></code>. The namespace isn't specified so that it can detect overloads via argument dependant lookup. So if there is a free function <code class="computeroutput"><span class="identifier">hash_value</span></code> in the same namespace as a custom type, it will get called. diff --git a/doc/html/hash/disable.html b/doc/html/hash/disable.html index ba42c1ad29..57fb1104c2 100644 --- a/doc/html/hash/disable.html +++ b/doc/html/hash/disable.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Disabling The Extensions</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="portability.html" title="Portability"> <link rel="next" href="changes.html" title="Change Log"> </head> diff --git a/doc/html/hash/links.html b/doc/html/hash/links.html index 91103eaf58..0bc8db5758 100644 --- a/doc/html/hash/links.html +++ b/doc/html/hash/links.html @@ -3,10 +3,10 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Links</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> -<link rel="prev" href="../boost/hash_std_type_ind_id757716.html" title="Struct hash<std::type_index>"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> +<link rel="prev" href="../boost/hash_std_type__idp47603776.html" title="Struct hash<std::type_index>"> <link rel="next" href="acknowledgements.html" title="Acknowledgements"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -20,7 +20,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="../boost/hash_std_type_ind_id757716.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="../boost/hash_std_type__idp47603776.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -60,7 +60,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="../boost/hash_std_type_ind_id757716.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="../boost/hash_std_type__idp47603776.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> diff --git a/doc/html/hash/portability.html b/doc/html/hash/portability.html index 48e8f104dc..7ef3fc6f5e 100644 --- a/doc/html/hash/portability.html +++ b/doc/html/hash/portability.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Portability</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="combine.html" title="Combining hash values"> <link rel="next" href="disable.html" title="Disabling The Extensions"> </head> diff --git a/doc/html/hash/rationale.html b/doc/html/hash/rationale.html index a389f9eca0..633a9a804f 100644 --- a/doc/html/hash/rationale.html +++ b/doc/html/hash/rationale.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Rationale</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="changes.html" title="Change Log"> <link rel="next" href="reference.html" title="Reference"> </head> @@ -27,11 +27,11 @@ <a name="hash.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a> </h2></div></div></div> <p> - The rationale can be found in the original design <sup>[<a name="hash.rationale.f0" href="#ftn.hash.rationale.f0" class="footnote">1</a>]</sup>. + The rationale can be found in the original design <a href="#ftn.hash.rationale.f0" class="footnote" name="hash.rationale.f0"><sup class="footnote">[2]</sup></a>. </p> <h4> <a name="hash.rationale.h0"></a> - <span><a name="hash.rationale.quality_of_the_hash_function"></a></span><a class="link" href="rationale.html#hash.rationale.quality_of_the_hash_function">Quality + <span class="phrase"><a name="hash.rationale.quality_of_the_hash_function"></a></span><a class="link" href="rationale.html#hash.rationale.quality_of_the_hash_function">Quality of the hash function</a> </h4> <p> @@ -57,12 +57,12 @@ For other use cases, if you do need a higher quality hash function, then neither the standard hash function or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> are appropriate. There are several options available. One is to use a second hash - on the output of this hash function, such as <a href="http://www.concentric.net/~ttwang/tech/inthash.htm" target="_top">Thomas + on the output of this hash function, such as <a href="http://web.archive.org/web/20121102023700/http://www.concentric.net/~Ttwang/tech/inthash.htm" target="_top">Thomas Wang's hash function</a>. This this may not work as well as a hash algorithm tailored for the input. </p> <p> - For strings that are several fast, high quality hash functions available (for + For strings there are several fast, high quality hash functions available (for example <a href="http://code.google.com/p/smhasher/" target="_top">MurmurHash3</a> and <a href="http://code.google.com/p/cityhash/" target="_top">Google's CityHash</a>), although they tend to be more machine specific. These may also be appropriate @@ -71,8 +71,8 @@ floating point values). </p> <div class="footnotes"> -<br><hr width="100" align="left"> -<div class="footnote"><p><sup>[<a id="ftn.hash.rationale.f0" href="#hash.rationale.f0" class="para">1</a>] </sup> +<br><hr style="width:100; text-align:left;margin-left: 0"> +<div id="ftn.hash.rationale.f0" class="footnote"><p><a href="#hash.rationale.f0" class="para"><sup class="para">[2] </sup></a> issue 6.18 of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1837.pdf" target="_top">Library Extension Technical Report Issues List</a> (page 63) </p></div> diff --git a/doc/html/hash/reference.html b/doc/html/hash/reference.html index 1d5731c29a..6e819fc41a 100644 --- a/doc/html/hash/reference.html +++ b/doc/html/hash/reference.html @@ -3,9 +3,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Reference</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="prev" href="rationale.html" title="Rationale"> <link rel="next" href="../boost/hash.html" title="Struct template hash"> </head> @@ -25,7 +25,7 @@ <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="hash.reference"></a>Reference</h2></div></div></div> -<div class="toc"><dl> +<div class="toc"><dl class="toc"> <dt><span class="section"><a href="reference.html#hash.reference.specification"></a></span></dt> <dt><span class="section"><a href="reference.html#header.boost.functional.hash_hpp">Header <boost/functional/hash.hpp></a></span></dt> </dl></div> @@ -47,79 +47,79 @@ <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash.html" title="Struct template hash">hash</a><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_bool_id749268.html" title="Struct hash<bool>">hash</a><span class="special"><</span><span class="keyword">bool</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_char_id748548.html" title="Struct hash<char>">hash</a><span class="special"><</span><span class="keyword">char</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_signed_char_id747389.html" title="Struct hash<signed char>">hash</a><span class="special"><</span><span class="keyword">signed</span> <span class="keyword">char</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned_cha_id747446.html" title="Struct hash<unsigned char>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_wchar_t_id747502.html" title="Struct hash<wchar_t>">hash</a><span class="special"><</span><span class="keyword">wchar_t</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_short_id749038.html" title="Struct hash<short>">hash</a><span class="special"><</span><span class="keyword">short</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned_sho_id754534.html" title="Struct hash<unsigned short>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_int_id754336.html" title="Struct hash<int>">hash</a><span class="special"><</span><span class="keyword">int</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned_int_id748840.html" title="Struct hash<unsigned int>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_id732241.html" title="Struct hash<long>">hash</a><span class="special"><</span><span class="keyword">long</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned_lon_id747253.html" title="Struct hash<unsigned long>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_long_id747310.html" title="Struct hash<long long>">hash</a><span class="special"><</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned_lon_id758122.html" title="Struct hash<unsigned long long>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_float_id746061.html" title="Struct hash<float>">hash</a><span class="special"><</span><span class="keyword">float</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_double_id746117.html" title="Struct hash<double>">hash</a><span class="special"><</span><span class="keyword">double</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_double_id749321.html" title="Struct hash<long double>">hash</a><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_string_id749378.html" title="Struct hash<std::string>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_wstring_id747045.html" title="Struct hash<std::wstring>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_T_id755391.html" title="Struct template hash<T*>">hash</a><span class="special"><</span><span class="identifier">T</span><span class="special">*</span><span class="special">></span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_type_ind_id757716.html" title="Struct hash<std::type_index>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_bool_idp40945552.html" title="Struct hash<bool>">hash</a><span class="special"><</span><span class="keyword">bool</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_char_idp47308912.html" title="Struct hash<char>">hash</a><span class="special"><</span><span class="keyword">char</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_signed_c_idp107103920.html" title="Struct hash<signed char>">hash</a><span class="special"><</span><span class="keyword">signed</span> <span class="keyword">char</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned__idp40289168.html" title="Struct hash<unsigned char>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_wchar_t_idp100085152.html" title="Struct hash<wchar_t>">hash</a><span class="special"><</span><span class="keyword">wchar_t</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_short_idp113232624.html" title="Struct hash<short>">hash</a><span class="special"><</span><span class="keyword">short</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned__idp94408624.html" title="Struct hash<unsigned short>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_int_idp38064256.html" title="Struct hash<int>">hash</a><span class="special"><</span><span class="keyword">int</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned__idp48534896.html" title="Struct hash<unsigned int>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_idp100971824.html" title="Struct hash<long>">hash</a><span class="special"><</span><span class="keyword">long</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned__idp44420688.html" title="Struct hash<unsigned long>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_lon_idp101636672.html" title="Struct hash<long long>">hash</a><span class="special"><</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_unsigned__idp71328176.html" title="Struct hash<unsigned long long>">hash</a><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_float_idp101633168.html" title="Struct hash<float>">hash</a><span class="special"><</span><span class="keyword">float</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_double_idp37787440.html" title="Struct hash<double>">hash</a><span class="special"><</span><span class="keyword">double</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_long_doub_idp40704560.html" title="Struct hash<long double>">hash</a><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_stri_idp110974848.html" title="Struct hash<std::string>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_wstri_idp46340064.html" title="Struct hash<std::wstring>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_T_idp111201264.html" title="Struct template hash<T*>">hash</a><span class="special"><</span><span class="identifier">T</span><span class="special">*</span><span class="special">></span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/hash_std_type__idp47603776.html" title="Struct hash<std::type_index>">hash</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">></span><span class="special">;</span> - <span class="comment">// <a class="link" href="reference.html#id746829-bb">Support functions (Boost extension).</a></span> + <span class="comment">// <a class="link" href="reference.html#idp105637376-bb">Support functions (Boost extension).</a></span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">void</span> <a class="link" href="reference.html#boost.hash_combine"><span class="identifier">hash_combine</span></a><span class="special">(</span><span class="identifier">size_t</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745402-bb"><span class="identifier">hash_range</span></a><span class="special">(</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="keyword">void</span> <a class="link" href="reference.html#id749008-bb"><span class="identifier">hash_range</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&</span><span class="special">,</span> <span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp49204992-bb"><span class="identifier">hash_range</span></a><span class="special">(</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="keyword">void</span> <a class="link" href="reference.html#idp113433904-bb"><span class="identifier">hash_range</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&</span><span class="special">,</span> <span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span> - <span class="comment">// <a class="link" href="reference.html#id746653-bb">Overloadable hash implementation (Boost extension).</a></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746671-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746686-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">char</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746700-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746714-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746729-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">wchar_t</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746743-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">short</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746758-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id747809-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id732449-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id732464-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745531-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745546-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745560-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745575-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">float</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745589-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">double</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745604-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745618-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id745638-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id748506-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> + <span class="comment">// <a class="link" href="reference.html#idp45574784-bb">Overloadable hash implementation (Boost extension).</a></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp54500624-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp54502368-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">char</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp76377568-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp76379312-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp106951664-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">wchar_t</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp106953408-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">short</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp45628288-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp45630032-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp69078176-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp69079920-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp105511920-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp105513664-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp100999280-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp101001024-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">float</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp41306672-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">double</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp41308416-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp55446864-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp55449296-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp96676912-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Ch<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id755537-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">></span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp102539312-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">></span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">,</span> <span class="keyword">typename</span> B<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id729003-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp50883840-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id729030-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp69660432-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id729058-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp76221008-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id755652-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp110857472-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id729093-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp100168224-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id747200-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp50842096-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id754715-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp69145248-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746611-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multimap</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746300-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746323-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp102727104-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multimap</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp110658352-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp110661104-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746338-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#id746370-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T</span><span class="special">...</span><span class="special">></span><span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp47766112-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#idp113415936-bb"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T</span><span class="special">...</span><span class="special">></span><span class="special">)</span><span class="special">;</span> <span class="special">}</span></pre> <div class="refsect2"> -<a name="id1575864"></a><h3> -<a name="id746829-bb"></a><code class="computeroutput"></code> Support functions (Boost extension).</h3> +<a name="idp211880144"></a><h3> +<a name="idp105637376-bb"></a><code class="computeroutput"></code> Support functions (Boost extension).</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">void</span> <a name="boost.hash_combine"></a><span class="identifier">hash_combine</span><span class="special">(</span><span class="identifier">size_t</span> <span class="special">&</span> seed<span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> v<span class="special">)</span><span class="special">;</span></pre> @@ -127,30 +127,46 @@ Called repeatedly to incrementally create a hash value from several variables. </p> -<div class="variablelist"><table border="0"> +<div class="variablelist"><table border="0" class="variablelist compact"> +<colgroup> <col align="left" valign="top"> +<col> +</colgroup> <tbody> <tr> <td><p><span class="term">Effects:</span></p></td> -<td><pre class="programlisting"><span class="identifier">seed</span> <span class="special">^=</span> <a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">+</span> <span class="number">0x9e3779b9</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">seed</span> <span class="special"><<</span> <span class="number">6</span><span class="special">)</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">seed</span> <span class="special">>></span> <span class="number">2</span><span class="special">)</span><span class="special">;</span></pre></td> +<td> + Updates <code class="computeroutput">seed</code> with a new hash value generated by + combining it with the result of + <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(v)</code>. Will + always produce the same result for the same combination of + <code class="computeroutput">seed</code> and + <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(v)</code> during + the single run of a program. + </td> </tr> <tr> <td><p><span class="term">Notes:</span></p></td> <td> -<p><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a> is called without +<p><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a> is called without qualification, so that overloads can be found via ADL.</p> <p>This is an extension to TR1</p> <p> Forward declared in <code class="computeroutput"><boost/functional/hash_fwd.hpp></code> </p> +<p> + 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. + </p> </td> </tr> <tr> <td><p><span class="term">Throws:</span></p></td> <td> - Only throws if <a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a>(T) throws. - Strong exception safety, as long as <a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a>(T) + Only throws if <a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(T) throws. + Strong exception safety, as long as <a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(T) also has strong exception safety. </td> </tr> @@ -159,14 +175,17 @@ </li> <li class="listitem"> <p><a name="boost.hash_range"></a></p> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745402-bb"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">It</span> first<span class="special">,</span> <span class="identifier">It</span> last<span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="keyword">void</span> <a name="id749008-bb"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&</span> seed<span class="special">,</span> <span class="identifier">It</span> first<span class="special">,</span> <span class="identifier">It</span> last<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp49204992-bb"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">It</span> first<span class="special">,</span> <span class="identifier">It</span> last<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="keyword">void</span> <a name="idp113433904-bb"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&</span> seed<span class="special">,</span> <span class="identifier">It</span> first<span class="special">,</span> <span class="identifier">It</span> last<span class="special">)</span><span class="special">;</span></pre> <p class="simpara"> Calculate the combined hash value of the elements of an iterator range. </p> -<div class="variablelist"><table border="0"> +<div class="variablelist"><table border="0" class="variablelist compact"> +<colgroup> <col align="left" valign="top"> +<col> +</colgroup> <tbody> <tr> <td><p><span class="term">Effects:</span></p></td> @@ -207,14 +226,19 @@ Forward declared in <code class="computeroutput"><boost/functional/hash_fwd.hpp></code> </p> +<p> + 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. + </p> </td> </tr> <tr> <td><p><span class="term">Throws:</span></p></td> <td><p> - Only throws if <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a>(std::iterator_traits<It>::value_type)</code> + Only throws if <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(std::iterator_traits<It>::value_type)</code> throws. <code class="computeroutput">hash_range(std::size_t&, It, It)</code> has basic exception safety as long as - <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a>(std::iterator_traits<It>::value_type)</code> + <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a>(std::iterator_traits<It>::value_type)</code> has basic exception safety. </p></td> </tr> @@ -224,52 +248,52 @@ </ol></div> </div> <div class="refsect2"> -<a name="id1576647"></a><h3> -<a name="id746653-bb"></a><code class="computeroutput"></code> Overloadable hash implementation (Boost extension).</h3> +<a name="idp211967120"></a><h3> +<a name="idp45574784-bb"></a><code class="computeroutput"></code> Overloadable hash implementation (Boost extension).</h3> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> -<p><a name="boost.hash_value_id746661"></a></p> -<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746671-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">bool</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746686-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746700-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746714-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746729-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">wchar_t</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746743-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">short</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746758-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">short</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id747809-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">int</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id732449-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id732464-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745531-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745546-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745560-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745575-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">float</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745589-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">double</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745604-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> val<span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745618-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id745638-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id748506-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> +<p><a name="boost.hash_value_idp45575600"></a></p> +<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp54500624-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">bool</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp54502368-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp76377568-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">signed</span> <span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp76379312-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp106951664-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">wchar_t</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp106953408-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">short</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp45628288-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">short</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp45630032-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">int</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp69078176-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp69079920-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp105511920-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp105513664-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp100999280-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp101001024-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">float</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp41306672-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">double</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp41308416-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> val<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp55446864-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp55449296-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">unsigned</span> N<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp96676912-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">(</span><span class="special">&</span><span class="identifier">val</span><span class="special">)</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Ch<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id755537-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">></span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp102539312-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">Ch</span><span class="special">></span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">,</span> <span class="keyword">typename</span> B<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id729003-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp50883840-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id729030-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp69660432-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id729058-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp76221008-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id755652-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp110857472-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id729093-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp100168224-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id747200-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp50842096-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id754715-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp69145248-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> K<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> C<span class="special">,</span> <span class="keyword">typename</span> A<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746611-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multimap</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746300-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746323-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span> val<span class="special">)</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp102727104-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">multimap</span><span class="special"><</span><span class="identifier">K</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp110658352-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp110661104-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span> val<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> N<span class="special">></span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746338-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id746370-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T</span><span class="special">...</span><span class="special">></span> val<span class="special">)</span><span class="special">;</span></pre> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp47766112-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> val<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> T<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp113415936-bb"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T</span><span class="special">...</span><span class="special">></span> val<span class="special">)</span><span class="special">;</span></pre> <p class="simpara"> Implementation of the hash function. </p> @@ -280,18 +304,28 @@ call <code class="computeroutput">hash_value</code> without namespace qualification so that overloads for custom types are found via ADL. </p> -<div class="variablelist"><table border="0"> +<div class="variablelist"><table border="0" class="variablelist compact"> +<colgroup> <col align="left" valign="top"> +<col> +</colgroup> <tbody> <tr> <td><p><span class="term">Notes:</span></p></td> -<td><p>This is an extension to TR1</p></td> +<td> +<p>This is an extension to TR1</p> +<p> + 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. + </p> +</td> </tr> <tr> <td><p><span class="term">Throws:</span></p></td> <td> Only throws if a user supplied version of - <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_id746661">hash_value</a></code> + <code class="computeroutput"><a class="link" href="reference.html#boost.hash_value_idp45575600">hash_value</a></code> throws for an element of a container, or one of the types stored in a pair. </td> diff --git a/doc/html/hash/tutorial.html b/doc/html/hash/tutorial.html index fdf25a487f..417b44ee5c 100644 --- a/doc/html/hash/tutorial.html +++ b/doc/html/hash/tutorial.html @@ -3,10 +3,10 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Tutorial</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> -<link rel="prev" href="../hash.html" title="Chapter 10. Boost.Functional/Hash"> +<link rel="up" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> +<link rel="prev" href="../hash.html" title="Chapter 12. Boost.Functional/Hash"> <link rel="next" href="custom.html" title="Extending boost::hash for a custom data type"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |