• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>Change Log</title>
6<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9<link rel="up" href="../hash.html" title="Chapter 10. Boost.ContainerHash">
10<link rel="prev" href="disable.html" title="Disabling The Extensions">
11<link rel="next" href="rationale.html" title="Rationale">
12</head>
13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14<table cellpadding="2" width="100%"><tr>
15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
16<td align="center"><a href="../../../index.html">Home</a></td>
17<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20<td align="center"><a href="../../../more/index.htm">More</a></td>
21</tr></table>
22<hr>
23<div class="spirit-nav">
24<a accesskey="p" href="disable.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="rationale.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
25</div>
26<div class="section">
27<div class="titlepage"><div><div><h2 class="title" style="clear: both">
28<a name="hash.changes"></a><a class="link" href="changes.html" title="Change Log">Change Log</a>
29</h2></div></div></div>
30<h3>
31<a name="hash.changes.h0"></a>
32      <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
33      1.33.0</a>
34    </h3>
35<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
36          Initial Release
37        </li></ul></div>
38<h3>
39<a name="hash.changes.h1"></a>
40      <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
41      1.33.1</a>
42    </h3>
43<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
44          Fixed the points example, as pointed out by 沈慧峰.
45        </li></ul></div>
46<h3>
47<a name="hash.changes.h2"></a>
48      <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
49      1.34.0</a>
50    </h3>
51<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
52<li class="listitem">
53          Use declarations for standard classes, so that the library doesn't need
54          to include all of their headers
55        </li>
56<li class="listitem">
57          Deprecated the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">hash</span><span class="comment">/*.hpp&gt;</span></code> headers. Now a single header,
58          &lt;<code class="computeroutput">boost/functional/hash.hpp</code>&gt;
59          is used.
60        </li>
61<li class="listitem">
62          Add support for the <code class="computeroutput"><span class="identifier">BOOST_HASH_NO_EXTENSIONS</span></code>
63          macro, which disables the extensions to TR1.
64        </li>
65<li class="listitem">
66          Minor improvements to the hash functions for floating point numbers.
67        </li>
68<li class="listitem">
69          Update the portable example to hopefully be more generally portable.
70        </li>
71</ul></div>
72<h3>
73<a name="hash.changes.h3"></a>
74      <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
75      1.34.1</a>
76    </h3>
77<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
78          <a href="http://svn.boost.org/trac/boost/ticket/952" target="_top">Ticket 952</a>:
79          Suppress incorrect 64-bit warning on Visual C++.
80        </li></ul></div>
81<h3>
82<a name="hash.changes.h4"></a>
83      <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
84      1.35.0</a>
85    </h3>
86<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
87<li class="listitem">
88          Support for <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>,
89          <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code>.
90        </li>
91<li class="listitem">
92          Improved algorithm for hashing floating point numbers:
93          <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
94<li class="listitem">
95                Improved portablity, as described by Daniel Krügler in <a href="http://lists.boost.org/boost-users/2005/08/13418.php" target="_top">a
96                post to the boost users list</a>.
97              </li>
98<li class="listitem">
99                Fits more information into each combine loop, which can reduce the
100                the number of times combine is called and hopefully give a better
101                quality hash function.
102              </li>
103<li class="listitem">
104                Improved the algorithm for hashing floating point numbers.
105              </li>
106<li class="listitem">
107                On Cygwin use a binary hash function for floating point numbers,
108                as Cygwin doesn't have decent floating point functions for <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
109              </li>
110<li class="listitem">
111                Never uses <code class="computeroutput"><span class="identifier">fpclass</span></code>
112                which doesn't support <code class="computeroutput"><span class="keyword">long</span>
113                <span class="keyword">double</span></code>.
114              </li>
115<li class="listitem">
116                <a href="http://svn.boost.org/trac/boost/ticket/1064" target="_top">Ticket 1064</a>:
117                Removed unnecessary use of <code class="computeroutput"><span class="identifier">errno</span></code>.
118              </li>
119</ul></div>
120        </li>
121<li class="listitem">
122          Explicitly overload for more built in types.
123        </li>
124<li class="listitem">
125          Minor improvements to the documentation.
126        </li>
127<li class="listitem">
128          A few bug and warning fixes:
129          <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
130<li class="listitem">
131                <a href="http://svn.boost.org/trac/boost/ticket/1509" target="_top">Ticket 1509</a>:
132                Suppress another Visual C++ warning.
133              </li>
134<li class="listitem">
135                Some workarounds for the Sun compilers.
136              </li>
137</ul></div>
138        </li>
139</ul></div>
140<h3>
141<a name="hash.changes.h5"></a>
142      <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
143      1.36.0</a>
144    </h3>
145<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
146<li class="listitem">
147          Stop using OpenBSD's dodgy <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>.
148        </li>
149<li class="listitem">
150          Using the boost typedefs for <code class="computeroutput"><span class="keyword">long</span>
151          <span class="keyword">long</span></code> and <code class="computeroutput"><span class="keyword">unsigned</span>
152          <span class="keyword">long</span> <span class="keyword">long</span></code>.
153        </li>
154<li class="listitem">
155          Move the extensions into their own header.
156        </li>
157</ul></div>
158<h3>
159<a name="hash.changes.h6"></a>
160      <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
161      1.37.0</a>
162    </h3>
163<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
164          <a href="http://svn.boost.org/trac/boost/ticket/2264" target="_top">Ticket 2264</a>:
165          In Visual C++, always use C99 float functions for <code class="computeroutput"><span class="keyword">long</span>
166          <span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">float</span></code>
167          as the C++ overloads aren't always availables.
168        </li></ul></div>
169<h3>
170<a name="hash.changes.h7"></a>
171      <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
172      1.38.0</a>
173    </h3>
174<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
175<li class="listitem">
176          Changed the warnings in the deprecated headers from 1.34.0 to errors. These
177          will be removed in a future version of Boost.
178        </li>
179<li class="listitem">
180          Moved detail headers out of <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</span><span class="special">/</span><span class="identifier">detail</span></code>,
181          since they are part of functional/hash, not container_hash. <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</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> has been moved to <code class="computeroutput"><span class="identifier">boost</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>
182          as it's used outside of this library, the others have been moved to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">hash</span><span class="special">/</span><span class="identifier">detail</span></code>.
183        </li>
184</ul></div>
185<h3>
186<a name="hash.changes.h8"></a>
187      <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
188      1.39.0</a>
189    </h3>
190<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
191<li class="listitem">
192          Move the hash_fwd.hpp implementation into the hash subdirectory, leaving
193          a forwarding header in the old location. You should still use the old location,
194          the new location is mainly for implementation and possible modularization.
195        </li>
196<li class="listitem">
197          <a href="https://svn.boost.org/trac/boost/ticket/2412" target="_top">Ticket 2412</a>:
198          Removed deprecated headers.
199        </li>
200<li class="listitem">
201          <a href="https://svn.boost.org/trac/boost/ticket/2957" target="_top">Ticket 2957</a>:
202          Fix configuration for vxworks.
203        </li>
204</ul></div>
205<h3>
206<a name="hash.changes.h9"></a>
207      <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
208      1.40.0</a>
209    </h3>
210<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
211<li class="listitem">
212          Automatically configure the float functions using template metaprogramming
213          instead of trying to configure every possibility manually.
214        </li>
215<li class="listitem">
216          Workaround for when STLport doesn't support long double.
217        </li>
218</ul></div>
219<h3>
220<a name="hash.changes.h10"></a>
221      <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
222      1.42.0</a>
223    </h3>
224<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
225<li class="listitem">
226          Reduce the number of warnings for Visual C++ warning level 4.
227        </li>
228<li class="listitem">
229          Some code formatting changes to fit lines into 80 characters.
230        </li>
231<li class="listitem">
232          Rename an internal namespace.
233        </li>
234</ul></div>
235<h3>
236<a name="hash.changes.h11"></a>
237      <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
238      1.43.0</a>
239    </h3>
240<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
241<li class="listitem">
242          <a href="https://svn.boost.org/trac/boost/ticket/3866" target="_top">Ticket 3866</a>:
243          Don't foward declare containers when using gcc's parallel library, allow
244          user to stop forward declaration by defining the <code class="computeroutput"><span class="identifier">BOOST_DETAIL_NO_CONTAINER_FWD</span></code>
245          macro.
246        </li>
247<li class="listitem">
248          <a href="https://svn.boost.org/trac/boost/ticket/4038" target="_top">Ticket 4038</a>:
249          Avoid hashing 0.5 and 0 to the same number.
250        </li>
251<li class="listitem">
252          Stop using deprecated <code class="computeroutput"><span class="identifier">BOOST_HAS_</span><span class="special">*</span></code> macros.
253        </li>
254</ul></div>
255<h3>
256<a name="hash.changes.h12"></a>
257      <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
258      1.44.0</a>
259    </h3>
260<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
261          Add option to prevent implicit conversions when calling <code class="computeroutput"><span class="identifier">hash_value</span></code>
262          by defining <code class="computeroutput"><span class="identifier">BOOST_HASH_NO_IMPLICIT_CASTS</span></code>.
263          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
264          implicit conversion to a type that does, it would use that implicit conversion
265          to hash it. Which can sometimes go very wrong, e.g. using a conversion
266          to bool and only hashing to 2 possible values. Since fixing this is a breaking
267          change and was only approached quite late in the release cycle with little
268          discussion it's opt-in for now. This, or something like it, will become
269          the default in a future version.
270        </li></ul></div>
271<h3>
272<a name="hash.changes.h13"></a>
273      <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
274      1.46.0</a>
275    </h3>
276<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
277          Avoid warning due with gcc's <code class="computeroutput"><span class="special">-</span><span class="identifier">Wconversion</span></code> flag.
278        </li></ul></div>
279<h3>
280<a name="hash.changes.h14"></a>
281      <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
282      1.50.0</a>
283    </h3>
284<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
285<li class="listitem">
286          <a href="http://svn.boost.org/trac/boost/ticket/6771" target="_top">Ticket 6771</a>:
287          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>
288          warning.
289        </li>
290<li class="listitem">
291          <a href="http://svn.boost.org/trac/boost/ticket/6806" target="_top">Ticket 6806</a>:
292          Support <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code> and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
293          when available.
294        </li>
295<li class="listitem">
296          Add deprecation warning to the long deprecated <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</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>.
297        </li>
298</ul></div>
299<h3>
300<a name="hash.changes.h15"></a>
301      <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
302      1.51.0</a>
303    </h3>
304<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
305<li class="listitem">
306          Support the standard smart pointers.
307        </li>
308<li class="listitem">
309          <code class="computeroutput"><span class="identifier">hash_value</span></code> now implemented
310          using SFINAE to avoid implicit casts to built in types when calling it.
311        </li>
312<li class="listitem">
313          Updated to use the new config macros.
314        </li>
315</ul></div>
316<h3>
317<a name="hash.changes.h16"></a>
318      <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
319      1.52.0</a>
320    </h3>
321<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
322<li class="listitem">
323          Restore <code class="computeroutput"><span class="keyword">enum</span></code> support, which
324          was accidentally removed in the last version.
325        </li>
326<li class="listitem">
327          New floating point hasher - will hash the binary representation on more
328          platforms, which should be faster.
329        </li>
330</ul></div>
331<h3>
332<a name="hash.changes.h17"></a>
333      <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
334      1.53.0</a>
335    </h3>
336<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
337<li class="listitem">
338          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>
339          where available - currently only <code class="computeroutput"><span class="identifier">__int128</span></code>
340          and <code class="computeroutput"><span class="keyword">unsigned</span> <span class="identifier">__int128</span></code>
341          on some versions of gcc.
342        </li>
343<li class="listitem">
344          On platforms that are known to have the standard floating point functions,
345          don't use automatic detection - which can break if there are ambiguous
346          overloads.
347        </li>
348<li class="listitem">
349          Fix undefined behaviour when using the binary float hash (Thomas Heller).
350        </li>
351</ul></div>
352<h3>
353<a name="hash.changes.h18"></a>
354      <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
355      1.54.0</a>
356    </h3>
357<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
358          <a href="https://svn.boost.org/trac/boost/ticket/7957" target="_top">Ticket 7957</a>:
359          Fixed a typo.
360        </li></ul></div>
361<h3>
362<a name="hash.changes.h19"></a>
363      <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
364      1.55.0</a>
365    </h3>
366<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
367<li class="listitem">
368          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>).
369        </li>
370<li class="listitem">
371          Suppress Visual C++ infinite loop warning (<a href="https://svn.boost.org/trac/boost/ticket/8568" target="_top">#8568</a>).
372        </li>
373</ul></div>
374<h3>
375<a name="hash.changes.h20"></a>
376      <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
377      1.56.0</a>
378    </h3>
379<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
380<li class="listitem">
381          Removed some Visual C++ 6 workarounds.
382        </li>
383<li class="listitem">
384          Ongoing work on improving <code class="computeroutput"><span class="identifier">hash_combine</span></code>.
385          This changes the combine function which was previously defined in the reference
386          documentation.
387        </li>
388</ul></div>
389<h3>
390<a name="hash.changes.h21"></a>
391      <span class="phrase"><a name="hash.changes.boost_1_58_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_58_0">Boost
392      1.58.0</a>
393    </h3>
394<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
395          Fixed strict aliasing violation (<a href="https://github.com/boostorg/container_hash/pull/3" target="_top">GitHub
396          #3</a>).
397        </li></ul></div>
398<h3>
399<a name="hash.changes.h22"></a>
400      <span class="phrase"><a name="hash.changes.boost_1_63_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_63_0">Boost
401      1.63.0</a>
402    </h3>
403<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
404<li class="listitem">
405          Fixed some warnings.
406        </li>
407<li class="listitem">
408          Only define hash for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span></code>
409          when we know we have a <code class="computeroutput"><span class="keyword">wchar_t</span></code>.
410          Otherwise there's a compile error as there's no overload for hashing the
411          characters in wide strings (<a href="https://svn.boost.org/trac/boost/ticket/8552" target="_top">#8552</a>).
412        </li>
413</ul></div>
414<h3>
415<a name="hash.changes.h23"></a>
416      <span class="phrase"><a name="hash.changes.boost_1_64_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_64_0">Boost
417      1.64.0</a>
418    </h3>
419<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
420          Fix for recent versions of Visual C++ which have removed <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">unary_function</span></code> and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">binary_function</span></code>
421          (<a href="https://svn.boost.org/trac/boost/ticket/12353" target="_top">#12353</a>).
422        </li></ul></div>
423<h3>
424<a name="hash.changes.h24"></a>
425      <span class="phrase"><a name="hash.changes.boost_1_65_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_65_0">Boost
426      1.65.0</a>
427    </h3>
428<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
429          Support for <code class="computeroutput"><span class="keyword">char16_t</span></code>, <code class="computeroutput"><span class="keyword">char32_t</span></code>, <code class="computeroutput"><span class="identifier">u16string</span></code>,
430          <code class="computeroutput"><span class="identifier">u32string</span></code>
431        </li></ul></div>
432<h3>
433<a name="hash.changes.h25"></a>
434      <span class="phrase"><a name="hash.changes.boost_1_66_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_66_0">Boost
435      1.66.0</a>
436    </h3>
437<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
438          Avoid float comparison warning when using Clang - this workaround was already
439          in place for GCC, and was used when Clang pretends to be GCC, but the warning
440          was appearing when running Clang in other contexts.
441        </li></ul></div>
442<h3>
443<a name="hash.changes.h26"></a>
444      <span class="phrase"><a name="hash.changes.boost_1_67_0"></a></span><a class="link" href="changes.html#hash.changes.boost_1_67_0">Boost
445      1.67.0</a>
446    </h3>
447<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
448<li class="listitem">
449          Moved library into its own module, <code class="computeroutput"><span class="identifier">container_hash</span></code>.
450        </li>
451<li class="listitem">
452          Moved headers for new module name, now at: <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</span><span class="special">/</span><span class="identifier">hash</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>,
453          <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</span><span class="special">/</span><span class="identifier">hash_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">container_hash</span><span class="special">/</span><span class="identifier">extensions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
454        </li>
455<li class="listitem">
456          Added forwarding headers to support the old headers locations.
457        </li>
458<li class="listitem">
459          Support <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>,
460          <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_condition</span></code> <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code>,
461          <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">monostate</span></code>
462          where available.
463        </li>
464<li class="listitem">
465          Update include paths from other Boost libraries.
466        </li>
467<li class="listitem">
468          Manually write out tuple overloads, rather than using the preprocessor
469          to generate them. Should improve usability, due to better error messages,
470          and easier debugging.
471        </li>
472<li class="listitem">
473          Fix tutorial example (<a href="https://svn.boost.org/trac/boost/ticket/11017" target="_top">#11017</a>).
474        </li>
475<li class="listitem">
476          Quick fix for hashing <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span></code> when using libc++. Will try to introduce
477          a more general fix in the next release.
478        </li>
479</ul></div>
480</div>
481<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
482<td align="left"></td>
483<td align="right"><div class="copyright-footer">Copyright © 2005-2008 Daniel
484      James<p>
485        Distributed under the Boost Software License, Version 1.0. (See accompanying
486        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
487      </p>
488</div></td>
489</tr></table>
490<hr>
491<div class="spirit-nav">
492<a accesskey="p" href="disable.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="rationale.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
493</div>
494</body>
495</html>
496