diff options
Diffstat (limited to 'doc/html/unordered/hash_equality.html')
-rw-r--r-- | doc/html/unordered/hash_equality.html | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/doc/html/unordered/hash_equality.html b/doc/html/unordered/hash_equality.html index f45f188e5f..4818b73ca5 100644 --- a/doc/html/unordered/hash_equality.html +++ b/doc/html/unordered/hash_equality.html @@ -45,14 +45,10 @@ but not the equality predicate. For example, if you wanted to use the <a href="http://www.isthe.com/chongo/tech/comp/fnv/" target="_top">FNV-1 hash</a> you could write: </p> -<p> -</p> <pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">hash</span><span class="special">::</span><span class="identifier">fnv_1</span><span class="special">></span> <span class="identifier">dictionary</span><span class="special">;</span> </pre> <p> - </p> -<p> There is an <a href="../../../libs/unordered/examples/fnv1.hpp" target="_top">implementation of FNV-1</a> in the examples directory. </p> @@ -61,8 +57,6 @@ a matching hash function. For example, to implement a case insensitive dictionary you need to define a case insensitive equality predicate and hash function: </p> -<p> -</p> <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">iequal_to</span> <span class="special">{</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> @@ -90,18 +84,12 @@ <span class="special">};</span> </pre> <p> - </p> -<p> Which you can then use in a case insensitive dictionary: </p> -<p> -</p> <pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">ihash</span><span class="special">,</span> <span class="identifier">iequal_to</span><span class="special">></span> <span class="identifier">idictionary</span><span class="special">;</span> </pre> <p> - </p> -<p> This is a simplified version of the example at <a href="../../../libs/unordered/examples/case_insensitive.hpp" target="_top">/libs/unordered/examples/case_insensitive.hpp</a> which supports other locales and string types. </p> @@ -129,8 +117,6 @@ <p> Similarly, a custom hash function can be used for custom types: </p> -<p> -</p> <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">point</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">x</span><span class="special">;</span> <span class="keyword">int</span> <span class="identifier">y</span><span class="special">;</span> @@ -155,14 +141,10 @@ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_multiset</span><span class="special"><</span><span class="identifier">point</span><span class="special">,</span> <span class="identifier">point_hash</span><span class="special">></span> <span class="identifier">points</span><span class="special">;</span> </pre> <p> - </p> -<p> Since the default hash function is <a class="link" href="../hash.html" title="Chapter 15. Boost.Functional/Hash">Boost.Hash</a>, we can <a class="link" href="../hash/custom.html" title="Extending boost::hash for a custom data type">extend it to support the type</a> so that the hash function doesn't need to be explicitly given: </p> -<p> -</p> <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">point</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">x</span><span class="special">;</span> <span class="keyword">int</span> <span class="identifier">y</span><span class="special">;</span> @@ -184,8 +166,6 @@ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_multiset</span><span class="special"><</span><span class="identifier">point</span><span class="special">></span> <span class="identifier">points</span><span class="special">;</span> </pre> <p> - </p> -<p> See the <a class="link" href="../hash/custom.html" title="Extending boost::hash for a custom data type">Boost.Hash documentation</a> for more detail on how to do this. Remember that it relies on extensions to the draft standard - so it won't work for other implementations of the unordered associative |