• 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>Release Notes</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="../container.html" title="Chapter 9. Boost.Container">
10<link rel="prev" href="acknowledgements_notes.html" title="Acknowledgements, notes and links">
11<link rel="next" href="../hash.html" title="Chapter 10. Boost.ContainerHash">
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="acknowledgements_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.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="../hash.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="container.release_notes"></a><a class="link" href="release_notes.html" title="Release Notes">Release Notes</a>
29</h2></div></div></div>
30<div class="toc"><dl class="toc">
31<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_74_00">Boost
32      1.74 Release</a></span></dt>
33<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_72_00">Boost
34      1.72 Release</a></span></dt>
35<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_71_00">Boost
36      1.71 Release</a></span></dt>
37<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_70_00">Boost
38      1.70 Release</a></span></dt>
39<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_69_00">Boost
40      1.69 Release</a></span></dt>
41<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_68_00">Boost
42      1.68 Release</a></span></dt>
43<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_67_00">Boost
44      1.67 Release</a></span></dt>
45<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_66_00">Boost
46      1.66 Release</a></span></dt>
47<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_65_00">Boost
48      1.65 Release</a></span></dt>
49<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_64_00">Boost
50      1.64 Release</a></span></dt>
51<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_63_00">Boost
52      1.63 Release</a></span></dt>
53<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_62_00">Boost
54      1.62 Release</a></span></dt>
55<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_61_00">Boost
56      1.61 Release</a></span></dt>
57<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_60_00">Boost
58      1.60 Release</a></span></dt>
59<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_59_00">Boost
60      1.59 Release</a></span></dt>
61<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_58_00">Boost
62      1.58 Release</a></span></dt>
63<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_57_00">Boost
64      1.57 Release</a></span></dt>
65<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_56_00">Boost
66      1.56 Release</a></span></dt>
67<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_55_00">Boost
68      1.55 Release</a></span></dt>
69<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_54_00">Boost
70      1.54 Release</a></span></dt>
71<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_53_00">Boost
72      1.53 Release</a></span></dt>
73<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_52_00">Boost
74      1.52 Release</a></span></dt>
75<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_51_00">Boost
76      1.51 Release</a></span></dt>
77<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_50_00">Boost
78      1.50 Release</a></span></dt>
79<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_49_00">Boost
80      1.49 Release</a></span></dt>
81<dt><span class="section"><a href="release_notes.html#container.release_notes.release_notes_boost_1_48_00">Boost
82      1.48 Release</a></span></dt>
83</dl></div>
84<div class="section">
85<div class="titlepage"><div><div><h3 class="title">
86<a name="container.release_notes.release_notes_boost_1_74_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_74_00" title="Boost 1.74 Release">Boost
87      1.74 Release</a>
88</h3></div></div></div>
89<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
90            Fixed bugs/issues:
91            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
92<li class="listitem">
93                  <a href="https://github.com/boostorg/container/issues/125" target="_top">GitHub
94                  #125: <span class="emphasis"><em>"flat_map doc misleading complexity"</em></span></a>.
95                </li>
96<li class="listitem">
97                  <a href="https://github.com/boostorg/container/issues/126" target="_top">GitHub
98                  #126: <span class="emphasis"><em>"flat_set.hpp and set.hpp in pmr have the
99                  same header guard"</em></span></a>.
100                </li>
101<li class="listitem">
102                  <a href="https://github.com/boostorg/container/issues/128" target="_top">GitHub
103                  #128: <span class="emphasis"><em>"moved from small_vector and static_vector
104                  calls destructor on elements in static part"</em></span></a>.
105                </li>
106<li class="listitem">
107                  <a href="https://github.com/boostorg/container/issues/129" target="_top">GitHub
108                  #129: <span class="emphasis"><em>"Alias templates for small_flat_[multi</em></span>{set|map}
109                  using small_vector as container"</a>].
110                </li>
111<li class="listitem">
112                  <a href="https://github.com/boostorg/container/pull/135" target="_top">GitHub
113                  #135: <span class="emphasis"><em>"Missing BOOST_NORETURN for user defined functions"</em></span></a>.
114                </li>
115<li class="listitem">
116                  <a href="https://github.com/boostorg/container/pull/137" target="_top">GitHub
117                  #137: <span class="emphasis"><em>"RandomAccessIterator + 0"</em></span></a>.
118                </li>
119<li class="listitem">
120                  <a href="https://github.com/boostorg/container/pull/138" target="_top">GitHub
121                  #138: <span class="emphasis"><em>"Remove Classes from Global Namespace"</em></span></a>.
122                </li>
123<li class="listitem">
124                  <a href="https://github.com/boostorg/container/issues/142" target="_top">GitHub
125                  #142: <span class="emphasis"><em>"memset called with null pointer"</em></span></a>.
126                </li>
127<li class="listitem">
128                  <a href="https://github.com/boostorg/container/issues/144" target="_top">GitHub
129                  #144: <span class="emphasis"><em>"GCC suggest-override warnings"</em></span></a>.
130                </li>
131<li class="listitem">
132                  <a href="https://github.com/boostorg/container/issues/145" target="_top">GitHub
133                  #145: <span class="emphasis"><em>"Allocations not handled correctly in some
134                  cases of vector move with unequal allocators"</em></span></a>.
135                </li>
136<li class="listitem">
137                  <a href="https://github.com/boostorg/container/pull/146" target="_top">GitHub
138                  #146: <span class="emphasis"><em>"Changes for Embarcadero C++ clang-based compilers,
139                  targeting Boost 1.74. Addition needed for Embarcardero clang-based
140                  compilers"</em></span></a>.
141                </li>
142<li class="listitem">
143                  <a href="https://github.com/boostorg/container/pull/148" target="_top">GitHub
144                  #148: <span class="emphasis"><em>"Fix static initialization issues in pmr global
145                  resources"</em></span></a>.
146                </li>
147<li class="listitem">
148                  <a href="https://github.com/boostorg/container/pull/149" target="_top">GitHub
149                  #149: <span class="emphasis"><em>"InitializeCriticalSectionEx returns "BOOL"
150                  (int)"</em></span></a>.
151                </li>
152<li class="listitem">
153                  <a href="https://github.com/boostorg/container/issues/151" target="_top">GitHub
154                  #151: <span class="emphasis"><em>"Buffer overflow in monotonic_buffer_resource::do_allocate"</em></span></a>.
155                </li>
156</ul></div>
157          </li></ul></div>
158</div>
159<div class="section">
160<div class="titlepage"><div><div><h3 class="title">
161<a name="container.release_notes.release_notes_boost_1_72_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_72_00" title="Boost 1.72 Release">Boost
162      1.72 Release</a>
163</h3></div></div></div>
164<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
165            Fixed bugs:
166            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
167<li class="listitem">
168                  <a href="https://github.com/boostorg/container/issues/127" target="_top">GitHub
169                  #127: <span class="emphasis"><em>"Fix docs for static_vector::max_size() and
170                  capacity()"</em></span></a>.
171                </li>
172<li class="listitem">
173                  <a href="https://github.com/boostorg/container/issues/132" target="_top">GitHub
174                  #132: <span class="emphasis"><em>"flat_map::lower_bound and upper_bound have
175                  wrong/misleading docs"</em></span></a>.
176                </li>
177<li class="listitem">
178                  <a href="https://github.com/boostorg/container/issues/133" target="_top">GitHub
179                  #133: <span class="emphasis"><em>"basic_string move constructor with allocator
180                  argument has incorrect allocator check"</em></span></a>.
181                </li>
182</ul></div>
183          </li></ul></div>
184</div>
185<div class="section">
186<div class="titlepage"><div><div><h3 class="title">
187<a name="container.release_notes.release_notes_boost_1_71_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_71_00" title="Boost 1.71 Release">Boost
188      1.71 Release</a>
189</h3></div></div></div>
190<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
191<li class="listitem">
192            Fixed bugs:
193            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
194<li class="listitem">
195                  <a href="https://github.com/boostorg/container/pull/47" target="_top">GitHub
196                  #47: <span class="emphasis"><em>"added alignment specification for small_vector"</em></span></a>.
197                </li>
198<li class="listitem">
199                  <a href="https://github.com/boostorg/container/issues/88" target="_top">GitHub
200                  #88: <span class="emphasis"><em>"Implement C++17 MoveAssignable requirements
201                  for self-move assignments"</em></span></a>.
202                </li>
203<li class="listitem">
204                  <a href="https://github.com/boostorg/container/issues/107" target="_top">GitHub
205                  #107: <span class="emphasis"><em>"Alignment ignored in resource_adaptor"</em></span></a>.
206                </li>
207<li class="listitem">
208                  <a href="https://github.com/boostorg/container/pull/109" target="_top">GitHub
209                  #109: <span class="emphasis"><em>"Get rid of integer overflow in copy_move_algo.hpp
210                  (-fsanitize=integer)"</em></span></a>.
211                </li>
212<li class="listitem">
213                  <a href="https://github.com/boostorg/container/pull/110" target="_top">GitHub
214                  #110: <span class="emphasis"><em>"Avoid gcc 9 deprecated copy warnings in new_allocator.hpp"</em></span></a>.
215                </li>
216<li class="listitem">
217                  <a href="https://github.com/boostorg/container/issues/112" target="_top">GitHub
218                  #112: <span class="emphasis"><em>"vector::resize() compilation error with msvc-10..12:
219                  data is not a member of boost::detail::aligned_storage"</em></span></a>.
220                </li>
221<li class="listitem">
222                  <a href="https://github.com/boostorg/container/issues/114" target="_top">GitHub
223                  #114: <span class="emphasis"><em>"Fix small_vector noexcept specification"</em></span></a>.
224                </li>
225<li class="listitem">
226                  <a href="https://github.com/boostorg/container/issues/116" target="_top">GitHub
227                  #116: <span class="emphasis"><em>"MSVC + boost 1.70 compilation error when
228                  windows.h is already included (detail/thread_mutex.hpp)"</em></span></a>.
229                </li>
230<li class="listitem">
231                  <a href="https://github.com/boostorg/container/issues/117" target="_top">GitHub
232                  #117: <span class="emphasis"><em>"flat_map/map::insert_or_assign with hint
233                  has wrong return types"</em></span></a>.
234                </li>
235<li class="listitem">
236                  <a href="https://github.com/boostorg/container/issues/118" target="_top">GitHub
237                  #118: <span class="emphasis"><em>"Non-unique inplace_set_difference used in
238                  in flat_tree_merge_unique and iterator invalidation in insert_unique"</em></span></a>.
239                </li>
240<li class="listitem">
241                  <a href="https://github.com/boostorg/container/issues/122" target="_top">GitHub
242                  #122: <span class="emphasis"><em>"Fix has_trivial_destructor_after_move"</em></span></a>.
243                </li>
244<li class="listitem">
245                  <a href="https://github.com/boostorg/container/issues/123" target="_top">GitHub
246                  #123: <span class="emphasis"><em>"With heterogeneous lookup, <code class="computeroutput"><span class="identifier">equal_range</span></code> can result in a range
247                  with length greater than 1"</em></span></a>.
248                </li>
249</ul></div>
250          </li>
251<li class="listitem">
252            <code class="computeroutput"><a class="link" href="../boost/container/deque.html" title="Class template deque">deque</a></code> can now have
253            options, using <code class="computeroutput"><a class="link" href="../boost/container/deque_options.html" title="Struct template deque_options">deque_options</a></code>.
254            The block size/bytes can be be specified.
255          </li>
256<li class="listitem">
257            <code class="computeroutput"><a class="link" href="../boost/container/static_vector.html" title="Class template static_vector">static_vector</a></code>
258            can now have options, using <code class="computeroutput"><a class="link" href="../boost/container/static_vector_options.html" title="Struct template static_vector_options">static_vector_options</a></code>.
259            Alignment and throwing behaviour can be be specified.
260          </li>
261<li class="listitem">
262            <code class="computeroutput"><a class="link" href="../boost/container/small_vector.html" title="Class template small_vector">small_vector</a></code>
263            can now have options, using <code class="computeroutput"><a class="link" href="../boost/container/small_vector_options.html" title="Struct template small_vector_options">small_vector_options</a></code>.
264            Alignment and growth factor can be be specified.
265          </li>
266</ul></div>
267</div>
268<div class="section">
269<div class="titlepage"><div><div><h3 class="title">
270<a name="container.release_notes.release_notes_boost_1_70_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_70_00" title="Boost 1.70 Release">Boost
271      1.70 Release</a>
272</h3></div></div></div>
273<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
274<li class="listitem">
275            Removed support for already deprecated GCC &lt; 4.3 and MSVC &lt; 9.0
276            (Visual 2008) compilers.
277          </li>
278<li class="listitem">
279            Default allocator parameter changed form <code class="computeroutput"><span class="identifier">new_allocator</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> to <code class="computeroutput"><span class="keyword">void</span></code>
280            to reduce symbol lenghts.
281          </li>
282<li class="listitem">
283            Fixed bugs:
284            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
285<li class="listitem">
286                  <a href="https://github.com/boostorg/container/pull/96" target="_top">GitHub
287                  #96: <span class="emphasis"><em>"Workaround: Intel compilers do not offer CTAD
288                  yet"</em></span></a>.
289                </li>
290<li class="listitem">
291                  <a href="https://github.com/boostorg/container/issues/97" target="_top">GitHub
292                  #97: <span class="emphasis"><em>"buffer overflow in boost::container::flat_map
293                  on FreeBSD"</em></span></a>.
294                </li>
295<li class="listitem">
296                  <a href="https://github.com/boostorg/container/issues/98" target="_top">GitHub
297                  #98: <span class="emphasis"><em>"flat_map: insert_or_assign does not work with
298                  hint"</em></span></a>.
299                </li>
300<li class="listitem">
301                  <a href="https://github.com/boostorg/container/issues/100" target="_top">GitHub
302                  #100: <span class="emphasis"><em>"Compile error on Green Hills: container_detail::flat_tree
303                  has no member insert"</em></span></a>.
304                </li>
305<li class="listitem">
306                  <a href="https://github.com/boostorg/container/pull/103" target="_top">GitHub
307                  #103: <span class="emphasis"><em>"Fix deallocating never-allocated storage
308                  in vector.merge()"</em></span></a>.
309                </li>
310<li class="listitem">
311                  <a href="https://github.com/boostorg/container/pull/104" target="_top">GitHub
312                  #104: <span class="emphasis"><em>"Fix -Wmissing-noreturn clang warnings"</em></span></a>.
313                </li>
314<li class="listitem">
315                  <a href="https://github.com/boostorg/container/pull/105" target="_top">GitHub
316                  #105: <span class="emphasis"><em>"Fix gcc -Wdeprecated-copy"</em></span></a>.
317                </li>
318<li class="listitem">
319                  <a href="https://github.com/boostorg/container/issues/111" target="_top">GitHub
320                  #111: <span class="emphasis"><em>"container::vector of interprocess::offset_ptrs
321                  to variants holding incomplete type"</em></span></a>.
322                </li>
323</ul></div>
324          </li>
325</ul></div>
326</div>
327<div class="section">
328<div class="titlepage"><div><div><h3 class="title">
329<a name="container.release_notes.release_notes_boost_1_69_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_69_00" title="Boost 1.69 Release">Boost
330      1.69 Release</a>
331</h3></div></div></div>
332<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
333<li class="listitem">
334            Deprecated GCC &lt; 4.3 and MSVC &lt; 9.0 (Visual 2008) compilers.
335          </li>
336<li class="listitem">
337            Implemented C++20 <code class="computeroutput"><span class="identifier">contains</span><span class="special">()</span></code> for associative containers as specified
338            in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html" target="_top">P0458R2:
339            Checking for Existence of an Element in Associative Containers</a>.
340          </li>
341<li class="listitem">
342            Fixed serious bug in heterogeneous lookup functions (is_transparent was
343            broken).
344          </li>
345<li class="listitem">
346            Fixed bugs:
347            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
348<li class="listitem">
349                  <a href="https://github.com/boostorg/container/issues/77" target="_top">GitHub
350                  #77: <span class="emphasis"><em>"warning: 'sbrk' is deprecated"</em></span></a>.
351                </li>
352<li class="listitem">
353                  <a href="https://github.com/boostorg/container/issues/79" target="_top">GitHub
354                  #79: <span class="emphasis"><em>"Mark small_vector move operations noexcept"</em></span></a>.
355                </li>
356<li class="listitem">
357                  <a href="https://github.com/boostorg/container/issues/80" target="_top">GitHub
358                  #80: <span class="emphasis"><em>"flat_map deduction guides are ambiguous"</em></span></a>.
359                </li>
360<li class="listitem">
361                  <a href="https://github.com/boostorg/container/issues/81" target="_top">GitHub
362                  #81: <span class="emphasis"><em>"Vector with custom allocator does not support
363                  value types with operator&amp;"</em></span></a>.
364                </li>
365<li class="listitem">
366                  <a href="https://github.com/boostorg/container/issues/82" target="_top">GitHub
367                  #82: <span class="emphasis"><em>"Function definition in header file"</em></span></a>.
368                </li>
369<li class="listitem">
370                  <a href="https://github.com/boostorg/container/issues/83" target="_top">GitHub
371                  #83: <span class="emphasis"><em>"Iterator zero incrementing leads to assert
372                  on empty vector"</em></span></a>.
373                </li>
374<li class="listitem">
375                  <a href="https://github.com/boostorg/container/pull/84" target="_top">GitHub
376                  #84: <span class="emphasis"><em>"Allow vector to be assigned to itself"</em></span></a>.
377                </li>
378<li class="listitem">
379                  <a href="https://github.com/boostorg/container/pull/85" target="_top">GitHub
380                  #85: <span class="emphasis"><em>"container: misc-typos"</em></span></a>.
381                </li>
382<li class="listitem">
383                  <a href="https://github.com/boostorg/container/pull/86" target="_top">GitHub
384                  #86: <span class="emphasis"><em>"Add missing warning re-enabling include"</em></span></a>.
385                </li>
386<li class="listitem">
387                  <a href="https://github.com/boostorg/container/issues/89" target="_top">GitHub
388                  #89: <span class="emphasis"><em>"UBSAN failures detected in preflight CI PR"</em></span></a>.
389                </li>
390<li class="listitem">
391                  <a href="https://github.com/boostorg/container/issues/90" target="_top">GitHub
392                  #90: <span class="emphasis"><em>"Build fails on clang-5 with libstdc++7-dev
393                  (C++17 issue)"</em></span></a>.
394                </li>
395<li class="listitem">
396                  <a href="https://github.com/boostorg/container/issues/93" target="_top">GitHub
397                  #93: <span class="emphasis"><em>"vector::erase memory leak"</em></span></a>.
398                </li>
399</ul></div>
400          </li>
401</ul></div>
402</div>
403<div class="section">
404<div class="titlepage"><div><div><h3 class="title">
405<a name="container.release_notes.release_notes_boost_1_68_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_68_00" title="Boost 1.68 Release">Boost
406      1.68 Release</a>
407</h3></div></div></div>
408<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
409<li class="listitem">
410            Improved correctness of <code class="computeroutput"><a class="link" href="../boost/container/adaptive_pool.html" title="Class template adaptive_pool">adaptive_pool</a></code>
411            and many parameters are now compile-time constants instead of runtime
412            constants.
413          </li>
414<li class="listitem">
415            Implemented C++14's heterogeneous lookup functions for <code class="computeroutput"><span class="special">[</span><span class="identifier">multi</span><span class="special">]</span><span class="identifier">map</span><span class="special">/[</span><span class="identifier">multi</span><span class="special">]</span><span class="identifier">set</span><span class="special">/</span><span class="identifier">flat_</span><span class="special">[</span><span class="identifier">multi</span><span class="special">]</span><span class="identifier">map</span><span class="special">/</span><span class="identifier">flat_</span><span class="special">[</span><span class="identifier">multi</span><span class="special">]</span><span class="identifier">set</span></code>.
416          </li>
417<li class="listitem">
418            Added <a href="https://github.com/boostorg/container/pull/71" target="_top">GitHub
419            #71: <span class="emphasis"><em>"Constructor Template Auto Deduction guides "</em></span></a>.
420          </li>
421<li class="listitem">
422            Fixed bugs:
423            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
424<li class="listitem">
425                  <a href="https://svn.boost.org/trac/boost/ticket/13533" target="_top">Trac
426                  #13533: <span class="emphasis"><em>"Boost vector resize causes assert(false)"</em></span></a>.
427                </li>
428<li class="listitem">
429                  <a href="https://github.com/boostorg/container/issues/73" target="_top">GitHub
430                  #73: <span class="emphasis"><em>"triviality of pair"</em></span></a>.
431                </li>
432<li class="listitem">
433                  <a href="https://github.com/boostorg/container/issues/74" target="_top">GitHub
434                  #74: <span class="emphasis"><em>"vector assignment not using memcpy"</em></span></a>.
435                </li>
436<li class="listitem">
437                  <a href="https://github.com/boostorg/container/issues/75" target="_top">GitHub
438                  #75: <span class="emphasis"><em>"flat_set: Heap overflow"</em></span></a>.
439                </li>
440<li class="listitem">
441                  <a href="https://github.com/boostorg/container/issues/76" target="_top">GitHub
442                  #76: <span class="emphasis"><em>"flat_set: undefined behaviour on empty range"</em></span></a>.
443                </li>
444<li class="listitem">
445                  Fixed race condition bug in <code class="computeroutput"><a class="link" href="../boost/container/pmr/unsynchr_idm45641212301584.html" title="Class unsynchronized_pool_resource">unsynchronized_pool_resource</a></code>
446                  found by Arthur O'Dowyer in his blog post <a href="https://quuxplusone.github.io/blog/2018/06/05/libcpp-memory-resource/" target="_top">&lt;memory_resource&gt;
447                  for libc++</a>
448                </li>
449</ul></div>
450          </li>
451<li class="listitem">
452            Implemented proposed resolution for <a href="https://cplusplus.github.io/LWG/issue3120" target="_top"><span class="emphasis"><em>"LWG
453            3120 Unclear behavior of monotonic_buffer_resource::release()"</em></span></a>.
454            After <code class="computeroutput"><span class="identifier">release</span><span class="special">()</span></code>
455            the original buffer is recovered for the next allocation.
456          </li>
457</ul></div>
458</div>
459<div class="section">
460<div class="titlepage"><div><div><h3 class="title">
461<a name="container.release_notes.release_notes_boost_1_67_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_67_00" title="Boost 1.67 Release">Boost
462      1.67 Release</a>
463</h3></div></div></div>
464<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
465<li class="listitem">
466            <span class="emphasis"><em>vector</em></span> can now have options, using <code class="computeroutput"><a class="link" href="../boost/container/vector_options.html" title="Struct template vector_options">vector_options</a></code>.
467            The growth factor and the stored size type can be specified.
468          </li>
469<li class="listitem">
470            Improved range insertion in <span class="emphasis"><em>flat_[multi</em></span>map/set]
471            containers overall complexity is reduced to O(NlogN).
472          </li>
473<li class="listitem">
474            Fixed bugs:
475            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
476<li class="listitem">
477                  <a href="https://github.com/boostorg/container/pull/61" target="_top">GitHub
478                  #61: <span class="emphasis"><em>"Compile problems on Android ndk r16 beta 1"</em></span></a>.
479                </li>
480<li class="listitem">
481                  <a href="https://github.com/boostorg/container/pull/64" target="_top">GitHub
482                  #64: <span class="emphasis"><em>"Fix splice for slist"</em></span></a>.
483                </li>
484<li class="listitem">
485                  <a href="https://github.com/boostorg/container/issues/58" target="_top">GitHub
486                  #65: <span class="emphasis"><em>"<code class="computeroutput"><span class="identifier">pmr</span><span class="special">::</span><span class="identifier">monotonic_buffer_resource</span><span class="special">::</span><span class="identifier">allocate</span><span class="special">()</span></code> can return a pointer to freed
487                  memory after <code class="computeroutput"><span class="identifier">release</span><span class="special">()</span></code> is called"</em></span></a>.
488                </li>
489<li class="listitem">
490                  <a href="https://svn.boost.org/trac/boost/ticket/13500" target="_top">Trac
491                  #13500: <span class="emphasis"><em>"Memory leak when using erase on string
492                  vectors"</em></span></a>.
493                </li>
494</ul></div>
495          </li>
496</ul></div>
497</div>
498<div class="section">
499<div class="titlepage"><div><div><h3 class="title">
500<a name="container.release_notes.release_notes_boost_1_66_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_66_00" title="Boost 1.66 Release">Boost
501      1.66 Release</a>
502</h3></div></div></div>
503<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
504<li class="listitem">
505            <span class="emphasis"><em>flat_[multi</em></span>map/set] can now work as container adaptors,
506            as proposed in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0429r1.pdf" target="_top">P0429R1</a>.
507            The allocator argument is checked for <span class="emphasis"><em>size()</em></span> and
508            <span class="emphasis"><em>empty()</em></span> members. If so, the argument is interpreted
509            as the required underlying container. This means that <span class="emphasis"><em>static_vector</em></span>,
510            <span class="emphasis"><em>stable_vector</em></span> and <span class="emphasis"><em>small_vector</em></span>
511            can be used now with flat associative containers.
512          </li>
513<li class="listitem">
514            Fixed bugs:
515            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
516<li class="listitem">
517                  <a href="https://github.com/boostorg/container/pull/54" target="_top">GitHub
518                  #54: <span class="emphasis"><em>"no sbrk() in VxWorks, configure dlmalloc to
519                  use only mmap"</em></span></a>.
520                </li>
521<li class="listitem">
522                  <a href="https://github.com/boostorg/container/issues/58" target="_top">GitHub
523                  #58: <span class="emphasis"><em>"Comparing strings does not compile in gcc
524                  7+ in C++17 mode"</em></span></a>.
525                </li>
526<li class="listitem">
527                  <a href="https://github.com/boostorg/container/issues/59" target="_top">GitHub
528                  #59: <span class="emphasis"><em>"basic_string::npos is missing its definition"</em></span></a>.
529                </li>
530</ul></div>
531          </li>
532</ul></div>
533</div>
534<div class="section">
535<div class="titlepage"><div><div><h3 class="title">
536<a name="container.release_notes.release_notes_boost_1_65_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_65_00" title="Boost 1.65 Release">Boost
537      1.65 Release</a>
538</h3></div></div></div>
539<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
540<li class="listitem">
541            Implemented <code class="computeroutput"><span class="identifier">extract_sequence</span></code>,
542            <code class="computeroutput"><span class="identifier">adopt_sequence</span></code> functions
543            for flat_[multi]map/set associative containers.
544          </li>
545<li class="listitem">
546            Fixed bugs:
547            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
548<li class="listitem">
549                  <a href="https://github.com/boostorg/container/pull/48" target="_top">GitHub
550                  #48: <span class="emphasis"><em>"Replace deprecated/removed C++98 binders"</em></span></a>.
551                </li>
552<li class="listitem">
553                  <a href="https://github.com/boostorg/container/pull/49" target="_top">GitHub
554                  #49: <span class="emphasis"><em>"Remove useless allocator copy in map"</em></span></a>.
555                </li>
556<li class="listitem">
557                  <a href="https://github.com/boostorg/container/pull/50" target="_top">GitHub
558                  #50: <span class="emphasis"><em>"Fixed bug Trac #13038"</em></span></a>.
559                </li>
560<li class="listitem">
561                  <a href="https://github.com/boostorg/container/pull/51" target="_top">GitHub
562                  #51: <span class="emphasis"><em>"Fix integer rollover that triggers clang ubsan
563                  when U is unsigned"</em></span></a>.
564                </li>
565</ul></div>
566          </li>
567</ul></div>
568</div>
569<div class="section">
570<div class="titlepage"><div><div><h3 class="title">
571<a name="container.release_notes.release_notes_boost_1_64_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_64_00" title="Boost 1.64 Release">Boost
572      1.64 Release</a>
573</h3></div></div></div>
574<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
575            Fixed bugs:
576            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
577<li class="listitem">
578                  <a href="https://svn.boost.org/trac/boost/ticket/11333" target="_top">Trac
579                  #11333: <span class="emphasis"><em>"boost::basic_string_ref should interop
580                  with boost::container::basic_string"</em></span></a>.
581                </li>
582<li class="listitem">
583                  <a href="https://svn.boost.org/trac/boost/ticket/12749" target="_top">Trac
584                  #12749: <span class="emphasis"><em>"container::pmr::polymorphic_allocator compilation
585                  error"</em></span></a>.
586                </li>
587<li class="listitem">
588                  <a href="https://svn.boost.org/trac/boost/ticket/12915" target="_top">Trac
589                  #12915: <span class="emphasis"><em>"Buffer overflow in boost::container::vector
590                  (affects flat_set)"</em></span></a>.
591                </li>
592<li class="listitem">
593                  <a href="https://github.com/boostorg/container/pull/45" target="_top">GitHub
594                  #45: <span class="emphasis"><em>"emplace_back must return reference to back(),
595                  not to *end()"</em></span></a>.
596                </li>
597<li class="listitem">
598                  <a href="https://github.com/boostorg/container/pull/46" target="_top">GitHub
599                  #46: <span class="emphasis"><em>"Fix use of propagate_on_container_swap"</em></span></a>.
600                </li>
601</ul></div>
602          </li></ul></div>
603</div>
604<div class="section">
605<div class="titlepage"><div><div><h3 class="title">
606<a name="container.release_notes.release_notes_boost_1_63_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_63_00" title="Boost 1.63 Release">Boost
607      1.63 Release</a>
608</h3></div></div></div>
609<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
610            Fixed bugs:
611            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
612<li class="listitem">
613                  <a href="https://svn.boost.org/trac/boost/ticket/12534" target="_top">Trac
614                  #12534: <span class="emphasis"><em>"flat_map fails to compile if included after
615                  type_traits is instantiated under gcc"</em></span></a>.
616                </li>
617<li class="listitem">
618                  <a href="https://svn.boost.org/trac/boost/ticket/12577" target="_top">Trac
619                  #12577: <span class="emphasis"><em>"Null reference in pair.hpp triggers runtime
620                  warning with -fsanitize=undefined"</em></span></a>.
621                </li>
622<li class="listitem">
623                  <a href="https://github.com/boostorg/container/pull/41" target="_top">GitHub
624                  #40: <span class="emphasis"><em>Fix parameter types in copy_move_algo.hpp: iterator_traits::difference_type
625                  -&gt; allocator_traits::size_type</em></span></a>.
626                </li>
627<li class="listitem">
628                  <a href="https://github.com/boostorg/container/pull/41" target="_top">GitHub
629                  #41: <span class="emphasis"><em>Avoid -Wunreachable-code in do_allocate()</em></span></a>.
630                </li>
631</ul></div>
632          </li></ul></div>
633</div>
634<div class="section">
635<div class="titlepage"><div><div><h3 class="title">
636<a name="container.release_notes.release_notes_boost_1_62_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_62_00" title="Boost 1.62 Release">Boost
637      1.62 Release</a>
638</h3></div></div></div>
639<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
640<li class="listitem">
641            Fixed bugs:
642            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
643<li class="listitem">
644                  <a href="https://svn.boost.org/trac/boost/ticket/9481" target="_top">Trac
645                  #9481: <span class="emphasis"><em>"Minor comment typo in Boost.Container"</em></span></a>.
646                </li>
647<li class="listitem">
648                  <a href="https://svn.boost.org/trac/boost/ticket/9689" target="_top">Trac
649                  #9689: <span class="emphasis"><em>"Add piecewise_construct to boost::container"</em></span></a>.
650                </li>
651<li class="listitem">
652                  <a href="https://svn.boost.org/trac/boost/ticket/11170" target="_top">Trac
653                  #11170: <span class="emphasis"><em>"Doc slip for index_of"</em></span></a>.
654                </li>
655<li class="listitem">
656                  <a href="https://svn.boost.org/trac/boost/ticket/11802" target="_top">Trac
657                  #11802: <span class="emphasis"><em>"Incorrect ordering after using insert()
658                  with ordered_range_t on a flat_multiset with a non-default sort
659                  order"</em></span></a>.
660                </li>
661<li class="listitem">
662                  <a href="https://svn.boost.org/trac/boost/ticket/12117" target="_top">Trac
663                  #12117: <span class="emphasis"><em>"flat_set constructor with ordered_unique_range"</em></span></a>.
664                </li>
665<li class="listitem">
666                  <a href="https://svn.boost.org/trac/boost/ticket/12177" target="_top">Trac
667                  #12177: <span class="emphasis"><em>"vector::priv_merge uses unqualified uintptr_t"</em></span></a>.
668                </li>
669<li class="listitem">
670                  <a href="https://svn.boost.org/trac/boost/ticket/12183" target="_top">Trac
671                  #12183: <span class="emphasis"><em>"GCC 6.1 thinks boost::container::string
672                  violates strict aliasing"</em></span></a>.
673                </li>
674<li class="listitem">
675                  <a href="https://svn.boost.org/trac/boost/ticket/12256" target="_top">Trac
676                  #12256: <span class="emphasis"><em>"set&lt;std::pair&lt;int,int&gt;&gt;::insert
677                  cause compilation error in debug configuration in Visual Studio
678                  2012"</em></span></a>.
679                </li>
680<li class="listitem">
681                  <a href="https://svn.boost.org/trac/boost/ticket/12273" target="_top">Trac
682                  #12273: <span class="emphasis"><em>"static_vector max_size() and capacity()
683                  should be constant expressions"</em></span></a>. Added
684                  constant <code class="computeroutput"><span class="identifier">static_vector</span><span class="special">&lt;&gt;::</span><span class="identifier">static_capacity</span></code>
685                  to use the configured capacity in constant expressions.
686                </li>
687<li class="listitem">
688                  <a href="https://svn.boost.org/trac/boost/ticket/12286" target="_top">Trac
689                  #12286: <span class="emphasis"><em>"PMR flat_map from Boost Container does
690                  not compile"</em></span></a>.
691                </li>
692<li class="listitem">
693                  <a href="https://svn.boost.org/trac/boost/ticket/12296" target="_top">Trac
694                  #12296: <span class="emphasis"><em>"{deque,string} combine for a memory leak"</em></span></a>.
695                </li>
696<li class="listitem">
697                  <a href="https://svn.boost.org/trac/boost/ticket/12319" target="_top">Trac
698                  #12319: <span class="emphasis"><em>"flat_set` should be nothrow move constructible"</em></span></a>.
699                </li>
700</ul></div>
701          </li>
702<li class="listitem">
703            Revised noexcept expressions of default and move constructors in all
704            containers.
705          </li>
706<li class="listitem">
707            Implemented C++17's <code class="computeroutput"><span class="identifier">insert_or_assign</span></code>/<code class="computeroutput"><span class="identifier">try_emplace</span></code> for <code class="computeroutput"><a class="link" href="../boost/container/map.html" title="Class template map">map</a></code>
708            and <code class="computeroutput"><a class="link" href="../boost/container/flat_map.html" title="Class template flat_map">flat_map</a></code>.
709          </li>
710<li class="listitem">
711            Implemented C++17's <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf" target="_top"><span class="emphasis"><em>Splicing
712            Maps and Sets (Revision 5)</em></span></a> for <code class="computeroutput"><a class="link" href="../boost/container/map.html" title="Class template map">map</a></code>,
713            <code class="computeroutput"><a class="link" href="../boost/container/multimap.html" title="Class template multimap">multimap</a></code>, <code class="computeroutput"><a class="link" href="../boost/container/set.html" title="Class template set">set</a></code>, <code class="computeroutput"><a class="link" href="../boost/container/multiset.html" title="Class template multiset">multiset</a></code>.
714          </li>
715<li class="listitem">
716            Implemented C++17's <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf" target="_top"><span class="emphasis"><em>P0084R2
717            Emplace Return Type</em></span></a> in <code class="computeroutput"><span class="identifier">deque</span></code>,
718            <code class="computeroutput"><span class="identifier">vector</span></code>, <code class="computeroutput"><span class="identifier">stable_vector</span></code>, <code class="computeroutput"><span class="identifier">small_vector</span></code>,
719            <code class="computeroutput"><span class="identifier">static_vector</span></code>, <code class="computeroutput"><span class="identifier">list</span></code> and <code class="computeroutput"><span class="identifier">slist</span></code>.
720          </li>
721</ul></div>
722</div>
723<div class="section">
724<div class="titlepage"><div><div><h3 class="title">
725<a name="container.release_notes.release_notes_boost_1_61_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_61_00" title="Boost 1.61 Release">Boost
726      1.61 Release</a>
727</h3></div></div></div>
728<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
729<li class="listitem">
730            <code class="computeroutput"><a class="link" href="../boost/container/small_vector.html" title="Class template small_vector">boost::container::small_vector</a></code>
731            supports more constructors and assignments.
732          </li>
733<li class="listitem">
734            Fixed bugs:
735            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
736<li class="listitem">
737                  <a href="https://svn.boost.org/trac/boost/ticket/11820" target="_top">Trac
738                  #11820: <span class="emphasis"><em>"compiler error when using operator[</em></span>
739                  of map"</a>].
740                </li>
741<li class="listitem">
742                  <a href="https://svn.boost.org/trac/boost/ticket/11856" target="_top">Trac
743                  #11856: <span class="emphasis"><em>"pool_resource.cpp error: declaration changes
744                  meaning"</em></span></a>.
745                </li>
746<li class="listitem">
747                  <a href="https://svn.boost.org/trac/boost/ticket/11866" target="_top">Trac
748                  #11866: <span class="emphasis"><em>"small_vector does not have range constructor"</em></span></a>.
749                </li>
750<li class="listitem">
751                  <a href="https://svn.boost.org/trac/boost/ticket/11867" target="_top">Trac
752                  #11867: <span class="emphasis"><em>"small_vector should have constructor and
753                  assignment operator taking other small_vector"</em></span></a>.
754                </li>
755<li class="listitem">
756                  <a href="https://svn.boost.org/trac/boost/ticket/11912" target="_top">Trac
757                  #11912: <span class="emphasis"><em>"flat_map use of vector::priv_forward_range_insert_expand_backwards
758                  may cause move with same source"</em></span></a>.
759                </li>
760<li class="listitem">
761                  <a href="https://svn.boost.org/trac/boost/ticket/11957" target="_top">Trac
762                  #11957: <span class="emphasis"><em>"static_vector::max_size() is higher than
763                  the capacity"</em></span></a>.
764                </li>
765<li class="listitem">
766                  <a href="https://svn.boost.org/trac/boost/ticket/12014" target="_top">Trac
767                  #12014: <span class="emphasis"><em>"boost::container::set can not insert const
768                  (ref) range"</em></span></a>.
769                </li>
770<li class="listitem">
771                  <a href="https://github.com/boostorg/container/pull/33" target="_top">GitHub
772                  #33: <span class="emphasis"><em>Make sure std::string constructor is available</em></span></a>.
773                </li>
774</ul></div>
775          </li>
776</ul></div>
777</div>
778<div class="section">
779<div class="titlepage"><div><div><h3 class="title">
780<a name="container.release_notes.release_notes_boost_1_60_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_60_00" title="Boost 1.60 Release">Boost
781      1.60 Release</a>
782</h3></div></div></div>
783<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
784<li class="listitem">
785            Implemented <a class="link" href="cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources" title="Polymorphic Memory Resources">Polymorphic
786            Memory Resources</a>.
787          </li>
788<li class="listitem">
789            Add more BOOST_ASSERT checks to test preconditions in some operations
790            (like <code class="computeroutput"><span class="identifier">pop_back</span></code>, <code class="computeroutput"><span class="identifier">pop_front</span></code>, <code class="computeroutput"><span class="identifier">back</span></code>,
791            <code class="computeroutput"><span class="identifier">front</span></code>, etc.)
792          </li>
793<li class="listitem">
794            Added C++11 <code class="computeroutput"><span class="identifier">back</span></code>/<code class="computeroutput"><span class="identifier">front</span></code> operations to <code class="computeroutput"><a class="link" href="../boost/container/basic_string.html" title="Class template basic_string">basic_string</a></code>.
795          </li>
796<li class="listitem">
797            Fixed bugs:
798            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
799<li class="listitem">
800                  <a href="https://svn.boost.org/trac/boost/ticket/11627" target="_top">Trac
801                  #11627: <span class="emphasis"><em>"small_vector&lt;T,n&gt;::swap() appears
802                  to be broken"</em></span></a>.
803                </li>
804<li class="listitem">
805                  <a href="https://svn.boost.org/trac/boost/ticket/11628" target="_top">Trac
806                  #11628: <span class="emphasis"><em>"small_vector&lt;int,n&gt; iterates over
807                  elements in destructor"</em></span></a>.
808                </li>
809<li class="listitem">
810                  <a href="https://svn.boost.org/trac/boost/ticket/11697" target="_top">Trac
811                  #11697: <span class="emphasis"><em>"Wrong initialization order in tuple copy-constructor"</em></span></a>.
812                </li>
813<li class="listitem">
814                  <a href="https://svn.boost.org/trac/boost/ticket/11698" target="_top">Trac
815                  #11698: <span class="emphasis"><em>"Missing return statement in static_storage_allocator"</em></span></a>.
816                </li>
817<li class="listitem">
818                  <a href="https://github.com/boostorg/container/pull/29" target="_top">GitHub
819                  #29: <span class="emphasis"><em>Doc fixes for flap_map complexity requirements</em></span></a>.
820                </li>
821<li class="listitem">
822                  <a href="https://github.com/boostorg/container/pull/31" target="_top">GitHub
823                  #31: <span class="emphasis"><em>DL_SIZE_IMPL also dereference addr</em></span></a>.
824                </li>
825</ul></div>
826          </li>
827</ul></div>
828</div>
829<div class="section">
830<div class="titlepage"><div><div><h3 class="title">
831<a name="container.release_notes.release_notes_boost_1_59_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_59_00" title="Boost 1.59 Release">Boost
832      1.59 Release</a>
833</h3></div></div></div>
834<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
835<li class="listitem">
836            <a href="https://github.com/boostorg/container/pull/26" target="_top">GitHub #26:
837            <span class="emphasis"><em>Fix bug in stable_vector::capacity()</em></span></a>. Thanks
838            to timsong-cpp/Arindam Mukerjee.
839          </li>
840<li class="listitem">
841            <a href="https://github.com/boostorg/container/pull/27" target="_top">GitHub #27:
842            <span class="emphasis"><em>fix stable_vector's index_of's doxygen comment</em></span></a>.
843            Thanks to kariya-mitsuru.
844          </li>
845<li class="listitem">
846            <a href="https://svn.boost.org/trac/boost/ticket/11380" target="_top">Trac #11380:
847            <span class="emphasis"><em>"Container library std forward declarations incorrect
848            in std_fwd.hpp on libc++ with gcc"</em></span></a>.
849          </li>
850<li class="listitem">
851            <a href="https://svn.boost.org/trac/boost/ticket/11388" target="_top">Trac #11388:
852            <span class="emphasis"><em>"boost::container::list::emplace_back broken on Visual
853            Studio 2010"</em></span></a>.
854          </li>
855<li class="listitem">
856            <a href="https://svn.boost.org/trac/boost/ticket/11339" target="_top">Trac #11339:
857            <span class="emphasis"><em>"VC12 LNK2005 error with boost::container::adaptive_pool"</em></span></a>.
858          </li>
859</ul></div>
860</div>
861<div class="section">
862<div class="titlepage"><div><div><h3 class="title">
863<a name="container.release_notes.release_notes_boost_1_58_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_58_00" title="Boost 1.58 Release">Boost
864      1.58 Release</a>
865</h3></div></div></div>
866<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
867<li class="listitem">
868            Experimental <code class="computeroutput"><a class="link" href="../boost/container/small_vector.html" title="Class template small_vector">small_vector</a></code>
869            container.
870          </li>
871<li class="listitem">
872            Massive dependency reorganization. Now <span class="bold"><strong>Boost.Container</strong></span>
873            depends on very basic utilities like Boost.Core and <span class="bold"><strong>Boost.Intrusive</strong></span>.
874            Preprocessed code size have decreased considerably and compilation times
875            have improved.
876          </li>
877<li class="listitem">
878            Added <code class="computeroutput"><span class="identifier">nth</span></code> and <code class="computeroutput"><span class="identifier">index_of</span></code> functions to containers with
879            random-access iterators (except <code class="computeroutput"><span class="identifier">basic_string</span></code>).
880          </li>
881<li class="listitem">
882            Added C++17's <code class="computeroutput"><span class="identifier">allocator_traits</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">is_always_equal</span></code>.
883          </li>
884<li class="listitem">
885            Updated containers to implement new constructors as specified in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2210" target="_top">2210.
886            Missing allocator-extended constructor for allocator-aware containers</a>.
887          </li>
888<li class="listitem">
889            Fixed bugs:
890            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
891<li class="listitem">
892                  <a href="https://svn.boost.org/trac/boost/ticket/9931" target="_top">Trac
893                  #9931: <span class="emphasis"><em>"flat_map::insert(ordered_unique_range_t...)
894                  fails with move_iterators"</em></span></a> (reopened).
895                </li>
896<li class="listitem">
897                  <a href="https://svn.boost.org/trac/boost/ticket/11076" target="_top">Trac
898                  #11076: <span class="emphasis"><em>"Unqualified calls to memmove/memcpy in
899                  container/detail/copy_move_algo.hpp"</em></span></a>.
900                </li>
901<li class="listitem">
902                  <a href="https://svn.boost.org/trac/boost/ticket/10790" target="_top">Trac
903                  #10790 (<span class="emphasis"><em>"long long errors from container"</em></span>)</a>.
904                </li>
905<li class="listitem">
906                  <a href="https://svn.boost.org/trac/boost/ticket/10808" target="_top">Trac
907                  #10808 (<span class="emphasis"><em>"compare equal operator of vector is broken"</em></span>)</a>.
908                </li>
909<li class="listitem">
910                  <a href="https://svn.boost.org/trac/boost/ticket/10930" target="_top">Trac
911                  #10930 (<span class="emphasis"><em>"container std_fwd.hpp neglects custom std
912                  namespaces"</em></span>)</a>.
913                </li>
914<li class="listitem">
915                  <a href="https://svn.boost.org/trac/boost/ticket/11139" target="_top">Trac
916                  #11139 (<span class="emphasis"><em>"boost::container::vector&lt;std::shared_ptr&lt;const
917                  T&gt;...&gt;::const_iterator allows changing dereferenced elements"</em></span>)</a>.
918                </li>
919</ul></div>
920          </li>
921<li class="listitem">
922            <span class="bold"><strong>Source Breaking</strong></span>: <code class="computeroutput"><a class="link" href="../boost/container/scoped_allocator_adaptor.html" title="Class template scoped_allocator_adaptor">scoped_allocator_adaptor</a></code>'s
923            <code class="computeroutput"><span class="identifier">propagate_on_container_copy_assignment</span></code>,
924            <code class="computeroutput"><span class="identifier">propagate_on_container_move_assignment</span></code>
925            and <code class="computeroutput"><span class="identifier">propagate_on_container_swap</span></code>
926            are no longer <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="keyword">true</span><span class="special">/</span><span class="keyword">false</span><span class="special">&gt;</span></code> types. The dependency reorganization
927            needed to break with those classes to avoid MPL dependencies, and interoperability
928            with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">integral_constant</span></code> was not guaranteed.
929            Code assumming <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span><span class="special">/</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">false_type</span></code>
930            on this will not compile. As a workaround, use the guaranteed internal
931            <code class="computeroutput"><span class="special">::</span><span class="identifier">value</span></code>
932            constant: <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">scoped_allocator_adaptor</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span></code>.
933          </li>
934</ul></div>
935</div>
936<div class="section">
937<div class="titlepage"><div><div><h3 class="title">
938<a name="container.release_notes.release_notes_boost_1_57_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_57_00" title="Boost 1.57 Release">Boost
939      1.57 Release</a>
940</h3></div></div></div>
941<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
942<li class="listitem">
943            Added support for <code class="computeroutput"><span class="identifier">initializer_list</span></code>.
944            Contributed by Robert Matusewicz.
945          </li>
946<li class="listitem">
947            Fixed double destruction bugs in vector and backward expansion capable
948            allocators.
949          </li>
950<li class="listitem">
951            Fixed bugs:
952            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
953<li class="listitem">
954                  <a href="https://svn.boost.org/trac/boost/ticket/10263" target="_top">Trac
955                  #10263 (<span class="emphasis"><em>"AIX 6.1 bug with sched_yield() function
956                  out of scope"</em></span>)</a>.
957                </li>
958<li class="listitem">
959                  <a href="https://github.com/boostorg/container/pull/16" target="_top">GitHub
960                  #16: <span class="emphasis"><em>Fix iterators of incomplete type containers</em></span></a>.
961                  Thanks to Mikael Persson.
962                </li>
963</ul></div>
964          </li>
965</ul></div>
966</div>
967<div class="section">
968<div class="titlepage"><div><div><h3 class="title">
969<a name="container.release_notes.release_notes_boost_1_56_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_56_00" title="Boost 1.56 Release">Boost
970      1.56 Release</a>
971</h3></div></div></div>
972<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
973<li class="listitem">
974            Added DlMalloc-based <a class="link" href="extended_allocators.html" title="Extended functionality: Extended allocators">Extended
975            Allocators</a>.
976          </li>
977<li class="listitem">
978            <a class="link" href="configurable_containers.html#container.configurable_containers.configurable_tree_based_associative_containers" title="Configurable tree-based associative ordered containers">Improved
979            configurability</a> of tree-based ordered associative containers.
980            AVL, Scapegoat and Splay trees are now available to implement <code class="computeroutput"><a class="link" href="../boost/container/set.html" title="Class template set">set</a></code>, <code class="computeroutput"><a class="link" href="../boost/container/multiset.html" title="Class template multiset">multiset</a></code>,
981            <code class="computeroutput"><a class="link" href="../boost/container/map.html" title="Class template map">map</a></code> and <code class="computeroutput"><a class="link" href="../boost/container/multimap.html" title="Class template multimap">multimap</a></code>.
982          </li>
983<li class="listitem">
984            Fixed bugs:
985            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
986<li class="listitem">
987                  <a href="https://svn.boost.org/trac/boost/ticket/9338" target="_top">#9338:
988                  <span class="emphasis"><em>"VS2005 compiler errors in swap() definition after
989                  including container/memory_util.hpp"</em></span></a>.
990                </li>
991<li class="listitem">
992                  <a href="https://svn.boost.org/trac/boost/ticket/9637" target="_top">#9637:
993                  <span class="emphasis"><em>"Boost.Container vector::resize() performance issue"</em></span></a>.
994                </li>
995<li class="listitem">
996                  <a href="https://svn.boost.org/trac/boost/ticket/9648" target="_top">#9648:
997                  <span class="emphasis"><em>"string construction optimization - char_traits::copy
998                  could be used ..."</em></span></a>.
999                </li>
1000<li class="listitem">
1001                  <a href="https://svn.boost.org/trac/boost/ticket/9801" target="_top">#9801:
1002                  <span class="emphasis"><em>"I can no longer create and iterator_range from
1003                  a stable_vector"</em></span></a>.
1004                </li>
1005<li class="listitem">
1006                  <a href="https://svn.boost.org/trac/boost/ticket/9915" target="_top">#9915:
1007                  <span class="emphasis"><em>"Documentation issues regarding vector constructors
1008                  and resize methods - value/default initialization"</em></span></a>.
1009                </li>
1010<li class="listitem">
1011                  <a href="https://svn.boost.org/trac/boost/ticket/9916" target="_top">#9916:
1012                  <span class="emphasis"><em>"Allocator propagation incorrect in the assignment
1013                  operator of most"</em></span></a>.
1014                </li>
1015<li class="listitem">
1016                  <a href="https://svn.boost.org/trac/boost/ticket/9931" target="_top">#9931:
1017                  <span class="emphasis"><em>"flat_map::insert(ordered_unique_range_t...) fails
1018                  with move_iterators"</em></span></a>.
1019                </li>
1020<li class="listitem">
1021                  <a href="https://svn.boost.org/trac/boost/ticket/9955" target="_top">#9955:
1022                  <span class="emphasis"><em>"Using memcpy with overlapped buffers in vector"</em></span></a>.
1023                </li>
1024</ul></div>
1025          </li>
1026</ul></div>
1027</div>
1028<div class="section">
1029<div class="titlepage"><div><div><h3 class="title">
1030<a name="container.release_notes.release_notes_boost_1_55_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_55_00" title="Boost 1.55 Release">Boost
1031      1.55 Release</a>
1032</h3></div></div></div>
1033<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1034<li class="listitem">
1035            Implemented <a class="link" href="main_features.html#container.main_features.scary_iterators" title="SCARY iterators">SCARY
1036            iterators</a>.
1037          </li>
1038<li class="listitem">
1039            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/8269" target="_top">#8269</a>,
1040            <a href="https://svn.boost.org/trac/boost/ticket/8473" target="_top">#8473</a>,
1041            <a href="https://svn.boost.org/trac/boost/ticket/8892" target="_top">#8892</a>,
1042            <a href="https://svn.boost.org/trac/boost/ticket/9009" target="_top">#9009</a>,
1043            <a href="https://svn.boost.org/trac/boost/ticket/9064" target="_top">#9064</a>,
1044            <a href="https://svn.boost.org/trac/boost/ticket/9092" target="_top">#9092</a>,
1045            <a href="https://svn.boost.org/trac/boost/ticket/9108" target="_top">#9108</a>,
1046            <a href="https://svn.boost.org/trac/boost/ticket/9166" target="_top">#9166</a>.
1047          </li>
1048<li class="listitem">
1049            Added <code class="computeroutput"><span class="keyword">default</span> <span class="identifier">initialization</span></code>
1050            insertion functions to vector-like containers with new overloads taking
1051            <code class="computeroutput"><span class="identifier">default_init_t</span></code> as an
1052            argument instead of <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span></code>.
1053          </li>
1054</ul></div>
1055</div>
1056<div class="section">
1057<div class="titlepage"><div><div><h3 class="title">
1058<a name="container.release_notes.release_notes_boost_1_54_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_54_00" title="Boost 1.54 Release">Boost
1059      1.54 Release</a>
1060</h3></div></div></div>
1061<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1062<li class="listitem">
1063            Added experimental <code class="computeroutput"><span class="identifier">static_vector</span></code>
1064            class, based on Andrew Hundt's and Adam Wulkiewicz's high performance
1065            <code class="computeroutput"><span class="identifier">varray</span></code> class.
1066          </li>
1067<li class="listitem">
1068            Speed improvements in <code class="computeroutput"><span class="identifier">vector</span></code>
1069            constructors/copy/move/swap, dispatching to memcpy when possible.
1070          </li>
1071<li class="listitem">
1072            Support for <code class="computeroutput"><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>
1073            <a href="https://svn.boost.org/trac/boost/ticket/7227" target="_top">#7227</a>.
1074          </li>
1075<li class="listitem">
1076            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7921" target="_top">#7921</a>,
1077            <a href="https://svn.boost.org/trac/boost/ticket/7969" target="_top">#7969</a>,
1078            <a href="https://svn.boost.org/trac/boost/ticket/8118" target="_top">#8118</a>,
1079            <a href="https://svn.boost.org/trac/boost/ticket/8294" target="_top">#8294</a>,
1080            <a href="https://svn.boost.org/trac/boost/ticket/8553" target="_top">#8553</a>,
1081            <a href="https://svn.boost.org/trac/boost/ticket/8724" target="_top">#8724</a>.
1082          </li>
1083</ul></div>
1084</div>
1085<div class="section">
1086<div class="titlepage"><div><div><h3 class="title">
1087<a name="container.release_notes.release_notes_boost_1_53_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_53_00" title="Boost 1.53 Release">Boost
1088      1.53 Release</a>
1089</h3></div></div></div>
1090<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1091<li class="listitem">
1092            Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7650" target="_top">#7650</a>.
1093          </li>
1094<li class="listitem">
1095            Improved <code class="computeroutput"><span class="identifier">vector</span></code>'s insertion
1096            performance.
1097          </li>
1098<li class="listitem">
1099            Changed again experimental multiallocation interface for better performance
1100            (still experimental).
1101          </li>
1102<li class="listitem">
1103            Added no exception support for those willing to disable exceptions in
1104            their compilers.
1105          </li>
1106<li class="listitem">
1107            Fixed GCC -Wshadow warnings.
1108          </li>
1109<li class="listitem">
1110            Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.
1111          </li>
1112</ul></div>
1113</div>
1114<div class="section">
1115<div class="titlepage"><div><div><h3 class="title">
1116<a name="container.release_notes.release_notes_boost_1_52_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_52_00" title="Boost 1.52 Release">Boost
1117      1.52 Release</a>
1118</h3></div></div></div>
1119<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1120<li class="listitem">
1121            Improved <code class="computeroutput"><span class="identifier">stable_vector</span></code>'s
1122            template code bloat and type safety.
1123          </li>
1124<li class="listitem">
1125            Changed typedefs and reordered functions of sequence containers to improve
1126            doxygen documentation.
1127          </li>
1128<li class="listitem">
1129            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6615" target="_top">#6615</a>,
1130            <a href="https://svn.boost.org/trac/boost/ticket/7139" target="_top">#7139</a>,
1131            <a href="https://svn.boost.org/trac/boost/ticket/7215" target="_top">#7215</a>,
1132            <a href="https://svn.boost.org/trac/boost/ticket/7232" target="_top">#7232</a>,
1133            <a href="https://svn.boost.org/trac/boost/ticket/7269" target="_top">#7269</a>,
1134            <a href="https://svn.boost.org/trac/boost/ticket/7439" target="_top">#7439</a>.
1135          </li>
1136<li class="listitem">
1137            Implemented LWG Issue #149 (range insertion now returns an iterator)
1138            &amp; cleaned up insertion code in most containers
1139          </li>
1140<li class="listitem">
1141            Corrected aliasing errors.
1142          </li>
1143</ul></div>
1144</div>
1145<div class="section">
1146<div class="titlepage"><div><div><h3 class="title">
1147<a name="container.release_notes.release_notes_boost_1_51_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_51_00" title="Boost 1.51 Release">Boost
1148      1.51 Release</a>
1149</h3></div></div></div>
1150<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1151            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6763" target="_top">#6763</a>,
1152            <a href="https://svn.boost.org/trac/boost/ticket/6803" target="_top">#6803</a>,
1153            <a href="https://svn.boost.org/trac/boost/ticket/7114" target="_top">#7114</a>,
1154            <a href="https://svn.boost.org/trac/boost/ticket/7103" target="_top">#7103</a>.
1155            <a href="https://svn.boost.org/trac/boost/ticket/7123" target="_top">#7123</a>,
1156          </li></ul></div>
1157</div>
1158<div class="section">
1159<div class="titlepage"><div><div><h3 class="title">
1160<a name="container.release_notes.release_notes_boost_1_50_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_50_00" title="Boost 1.50 Release">Boost
1161      1.50 Release</a>
1162</h3></div></div></div>
1163<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1164<li class="listitem">
1165            Added Scoped Allocator Model support.
1166          </li>
1167<li class="listitem">
1168            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6606" target="_top">#6606</a>,
1169            <a href="https://svn.boost.org/trac/boost/ticket/6533" target="_top">#6533</a>,
1170            <a href="https://svn.boost.org/trac/boost/ticket/6536" target="_top">#6536</a>,
1171            <a href="https://svn.boost.org/trac/boost/ticket/6566" target="_top">#6566</a>,
1172            <a href="https://svn.boost.org/trac/boost/ticket/6575" target="_top">#6575</a>,
1173          </li>
1174</ul></div>
1175</div>
1176<div class="section">
1177<div class="titlepage"><div><div><h3 class="title">
1178<a name="container.release_notes.release_notes_boost_1_49_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_49_00" title="Boost 1.49 Release">Boost
1179      1.49 Release</a>
1180</h3></div></div></div>
1181<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1182<li class="listitem">
1183            Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6540" target="_top">#6540</a>,
1184            <a href="https://svn.boost.org/trac/boost/ticket/6499" target="_top">#6499</a>,
1185            <a href="https://svn.boost.org/trac/boost/ticket/6336" target="_top">#6336</a>,
1186            <a href="https://svn.boost.org/trac/boost/ticket/6335" target="_top">#6335</a>,
1187            <a href="https://svn.boost.org/trac/boost/ticket/6287" target="_top">#6287</a>,
1188            <a href="https://svn.boost.org/trac/boost/ticket/6205" target="_top">#6205</a>,
1189            <a href="https://svn.boost.org/trac/boost/ticket/4383" target="_top">#4383</a>.
1190          </li>
1191<li class="listitem">
1192            Added <code class="computeroutput"><span class="identifier">allocator_traits</span></code>
1193            support for both C++11 and C++03 compilers through an internal <code class="computeroutput"><span class="identifier">allocator_traits</span></code> clone.
1194          </li>
1195</ul></div>
1196</div>
1197<div class="section">
1198<div class="titlepage"><div><div><h3 class="title">
1199<a name="container.release_notes.release_notes_boost_1_48_00"></a><a class="link" href="release_notes.html#container.release_notes.release_notes_boost_1_48_00" title="Boost 1.48 Release">Boost
1200      1.48 Release</a>
1201</h3></div></div></div>
1202<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1203            First release. Container code from <span class="bold"><strong>Boost.Interprocess</strong></span>
1204            was deleted and redirected to <span class="bold"><strong>Boost.Container
1205            </strong></span> via using directives.
1206          </li></ul></div>
1207</div>
1208</div>
1209<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1210<td align="left"></td>
1211<td align="right"><div class="copyright-footer">Copyright © 2009-2018 Ion Gaztanaga<p>
1212        Distributed under the Boost Software License, Version 1.0. (See accompanying
1213        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>)
1214      </p>
1215</div></td>
1216</tr></table>
1217<hr>
1218<div class="spirit-nav">
1219<a accesskey="p" href="acknowledgements_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.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="../hash.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
1220</div>
1221</body>
1222</html>
1223