• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Release Notes</title>
5<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../index.html" title="Chapter 1. Boost.Contract 1.0.0">
8<link rel="up" href="../index.html" title="Chapter 1. Boost.Contract 1.0.0">
9<link rel="prev" href="../BOOST_CO_idm46268584298528.html" title="Macro BOOST_CONTRACT_PUBLIC_FUNCTION_OVERRIDE">
10<link rel="next" href="bibliography.html" title="Bibliography">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="../BOOST_CO_idm46268584298528.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="bibliography.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h2 class="title" style="clear: both">
27<a name="boost_contract.release_notes"></a><a class="link" href="release_notes.html" title="Release Notes">Release Notes</a>
28</h2></div></div></div>
29<div class="toc"><dl class="toc">
30<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_1_0_1">Release 1.0.1</a></span></dt>
31<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_1_0_0">Release 1.0.0</a></span></dt>
32<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_5_0">Release 0.5.0</a></span></dt>
33<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_4_1">Release 0.4.1</a></span></dt>
34<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_4_0">Release 0.4.0</a></span></dt>
35<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_3_490">Release
36      0.3.490</a></span></dt>
37<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_3_469">Release
38      0.3.469</a></span></dt>
39<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_2_190">Release
40      0.2.190</a></span></dt>
41<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_1_126">Release
42      0.1.126</a></span></dt>
43<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_1_55">Release
44      0.1.55</a></span></dt>
45<dt><span class="section"><a href="release_notes.html#boost_contract.release_notes.release_0_1_50">Release
46      0.1.50</a></span></dt>
47</dl></div>
48<p>
49      This section contains notes on all releases of this library (from the latest
50      to the oldest).
51    </p>
52<div class="section">
53<div class="titlepage"><div><div><h3 class="title">
54<a name="boost_contract.release_notes.release_1_0_1"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_1_0_1" title="Release 1.0.1">Release 1.0.1</a>
55</h3></div></div></div>
56<p>
57        September 12, 2019
58      </p>
59<p>
60        Cleanups and small fixes:
61      </p>
62<div class="orderedlist"><ol class="orderedlist" type="1">
63<li class="listitem">
64            Using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uncaught_exceptions</span></code> on C++17 compilers
65            onward (instead of the now obsolete <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uncaught_exception</span></code>).
66          </li>
67<li class="listitem">
68            Fixed a few warnings.
69          </li>
70<li class="listitem">
71            Removed linking to Boost.System (Boost.System is now a header-only library).
72          </li>
73<li class="listitem">
74            Added this library to Boost's Continuous Integration (CI).
75          </li>
76<li class="listitem">
77            Fixed documentation typos.
78          </li>
79</ol></div>
80<p>
81        Released files are part of <a href="https://www.boost.org/users/history/" target="_top">Boost
82        1.72.0</a>.
83      </p>
84</div>
85<div class="section">
86<div class="titlepage"><div><div><h3 class="title">
87<a name="boost_contract.release_notes.release_1_0_0"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_1_0_0" title="Release 1.0.0">Release 1.0.0</a>
88</h3></div></div></div>
89<p>
90        January 6, 2018 (Il Giorno della Befana)
91      </p>
92<p>
93        First Boost release:
94      </p>
95<div class="orderedlist"><ol class="orderedlist" type="1">
96<li class="listitem">
97            Fixed all tests to pass as Boost regression tests (and marked those that
98            are expected to fail on some specific compiler/platform versions).
99          </li>
100<li class="listitem">
101            Adjusted build scripts to work within Boost libraries.
102          </li>
103<li class="listitem">
104            Updated documentation to fit as a Boost library.
105          </li>
106</ol></div>
107<p>
108        Released files are part of <a href="https://www.boost.org/users/history/" target="_top">Boost
109        1.67.0</a>.
110      </p>
111</div>
112<div class="section">
113<div class="titlepage"><div><div><h3 class="title">
114<a name="boost_contract.release_notes.release_0_5_0"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_5_0" title="Release 0.5.0">Release 0.5.0</a>
115</h3></div></div></div>
116<p>
117        September 2, 2017
118      </p>
119<p>
120        Contracts without the macros:
121      </p>
122<div class="orderedlist"><ol class="orderedlist" type="1">
123<li class="listitem">
124            Using plain C++ code instead of macros to program contracts.
125            <div class="orderedlist"><ol class="orderedlist" type="a">
126<li class="listitem">
127                  The removed macros very hard to use because they required programmers
128                  to learn a domain-specific embedded language that replaced the
129                  usual C++ syntax for declaring functions and classes.
130                </li>
131<li class="listitem">
132                  The removed macros also made the code less readable, increased
133                  compilation time (because of extensive preprocessor meta-programming),
134                  and gave cryptic compiler errors.
135                </li>
136<li class="listitem">
137                  However, the removed macros more correctly specified contracts
138                  in code declarations instead of definitions, and they completely
139                  removed extra code when contracts were disabled (both of those
140                  can be done by the current version of this library but at the cost
141                  of manually writing some boiler-plate code which was previous automatically
142                  handled by the macros instead, see <a class="link" href="extras.html#boost_contract.extras.separate_body_implementation" title="Separate Body Implementation">Separate
143                  Body Implementation</a> and <a class="link" href="extras.html#boost_contract.extras.disable_contract_compilation__macro_interface_" title="Disable Contract Compilation (Macro Interface)">Disable
144                  Contract Compilation</a>).
145                </li>
146</ol></div>
147          </li>
148<li class="listitem">
149            Simplified the library by removing some extra features that were not
150            directly related to contract programming, specifically:
151            <div class="orderedlist"><ol class="orderedlist" type="a">
152<li class="listitem">
153                  Removed loop variants (because these are rarely if ever used).
154                </li>
155<li class="listitem">
156                  Removed named and deduced parameters (because these can be programmed
157                  directly using <a href="http://www.boost.org/doc/libs/release/libs/parameter/doc/html/index.html" target="_top">Boost.Parameter</a>).
158                </li>
159<li class="listitem">
160                  Removed concepts (because these can be programmed directly using
161                  <a href="http://www.boost.org/doc/libs/1_65_0/libs/concept_check/concept_check.htm" target="_top">Boost.ConceptCheck</a>).
162                </li>
163<li class="listitem">
164                  Removed emulation of virtual specifiers <code class="computeroutput"><span class="identifier">override</span></code>,
165                  <code class="computeroutput"><span class="identifier">final</span></code>, and <code class="computeroutput"><span class="keyword">new</span></code> (because <code class="computeroutput"><span class="identifier">override</span></code>
166                  can be programmed directly using C++11, while <code class="computeroutput"><span class="identifier">final</span></code>
167                  and <code class="computeroutput"><span class="keyword">new</span></code> are rarely
168                  if ever used).
169                </li>
170<li class="listitem">
171                  Removed <code class="computeroutput"><span class="keyword">static_assert</span></code>
172                  emulation (because this can be programmed directly using C++11,
173                  or using <a href="http://www.boost.org/doc/libs/1_65_0/doc/html/boost_staticassert.html" target="_top">Boost.StaticAssert</a>).
174                </li>
175</ol></div>
176          </li>
177<li class="listitem">
178            Ensuring that old values and return values are copied only once even
179            when subcontracting is used with multiple inheritance.
180          </li>
181<li class="listitem">
182            Improved template meta-programming algorithm that searches the inheritance
183            tree for subcontracting when multiple inheritance is used.
184          </li>
185<li class="listitem">
186            Exception specifications and function-try blocks apply also to exceptions
187            thrown by the contracts, and not just to exceptions thrown by the body.
188          </li>
189<li class="listitem">
190            Added contracts for exception guarantees (using <code class="computeroutput"><span class="special">.</span><span class="identifier">except</span><span class="special">(...)</span></code>,
191            etc.).
192          </li>
193<li class="listitem">
194            Added predefined assertion levels for "audit" and "axiom".
195          </li>
196<li class="listitem">
197            Added <code class="computeroutput"><span class="identifier">call_if</span></code> and <code class="computeroutput"><span class="identifier">condition_if</span></code> (assertions requirements
198            were supported also by previous revisions of this library but they were
199            handled by internal code generated by the contract macros).
200          </li>
201</ol></div>
202<p>
203        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.5.0" target="_top">files</a>.
204      </p>
205</div>
206<div class="section">
207<div class="titlepage"><div><div><h3 class="title">
208<a name="boost_contract.release_notes.release_0_4_1"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_4_1" title="Release 0.4.1">Release 0.4.1</a>
209</h3></div></div></div>
210<div class="note"><table border="0" summary="Note">
211<tr>
212<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
213<th align="left">Note</th>
214</tr>
215<tr><td align="left" valign="top"><p>
216          This revision of the library passed Boost formal review and it was accepted
217          into the Boost libraries (see <a href="https://groups.google.com/forum/?fromgroups=#!topic/boost-list/jQ7OjAmos_Y" target="_top">https://groups.google.com/forum/?fromgroups=#!topic/boost-list/jQ7OjAmos_Y</a>).
218        </p></td></tr>
219</table></div>
220<p>
221        August 20, 2012
222      </p>
223<p>
224        Accepted into Boost:
225      </p>
226<div class="orderedlist"><ol class="orderedlist" type="1">
227<li class="listitem">
228            Using non-fix-spaced font in Full Table of Contents section.
229          </li>
230<li class="listitem">
231            Added a couple of notes to the documentation.
232          </li>
233<li class="listitem">
234            Changed <code class="computeroutput"><span class="identifier">CONTRACT_MEMBER_BODY</span><span class="special">(</span><span class="identifier">class_type</span><span class="special">,</span> <span class="identifier">function_name</span><span class="special">)</span></code> to <code class="computeroutput"><span class="identifier">class_type</span><span class="special">::</span><span class="identifier">CONTRACT_MEMBER_BODY</span><span class="special">(</span><span class="identifier">function_name</span><span class="special">)</span></code> so the macro can also be used to declare
235            derived classes avoiding using the library syntax even when the base
236            class has contracts.
237          </li>
238</ol></div>
239<p>
240        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.4.1" target="_top">files</a>.
241      </p>
242</div>
243<div class="section">
244<div class="titlepage"><div><div><h3 class="title">
245<a name="boost_contract.release_notes.release_0_4_0"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_4_0" title="Release 0.4.0">Release 0.4.0</a>
246</h3></div></div></div>
247<p>
248        June 4, 2012
249      </p>
250<p>
251        Simplified syntax, added named parameters and concepts:
252      </p>
253<div class="orderedlist"><ol class="orderedlist" type="1">
254<li class="listitem">
255            Simplified syntax by reducing extra parenthesis to the bare necessary
256            minimum (using some of the preprocessor parsing techniques originally
257            introduced by Boost.LocalFunction).
258          </li>
259<li class="listitem">
260            Postcondition old values only copy the old-of expression (e.g., copy
261            just vector size instead of entire vector). This improves performance
262            and introduces the <code class="computeroutput"><span class="identifier">ConstantCopyConstructible</span></code>
263            requirement just for the old value expression type (e.g., a vector might
264            not be copyable while its size always is because it is an integral type).
265            Removed the <code class="computeroutput"><span class="identifier">copyable</span></code>
266            tag.
267          </li>
268<li class="listitem">
269            Body defined outside the macros (so compiler-errors for definitions retain
270            their usual meaning).
271          </li>
272<li class="listitem">
273            Added <code class="computeroutput"><span class="identifier">CONTRACT_CLASS</span></code>
274            macro and removed the need to duplicate declaration elements (do not
275            repeat function declaration, do not repeat class name in function declaration,
276            etc).
277          </li>
278<li class="listitem">
279            Using <code class="computeroutput"><span class="identifier">_TPL</span></code> macros so
280            to reduce compile-time (instead of internally making all templates contract
281            functions so to use <code class="computeroutput"><span class="keyword">typename</span></code>
282            freely).
283          </li>
284<li class="listitem">
285            Overloading no longer requires unique parameter names.
286          </li>
287<li class="listitem">
288            Added C++11-like virtual specifiers.
289          </li>
290<li class="listitem">
291            Added constant assertions plus constant-expressions for select assertion
292            if-conditions and for loop variants.
293          </li>
294<li class="listitem">
295            Added named and deduced parameters.
296          </li>
297<li class="listitem">
298            Added concept checking.
299          </li>
300<li class="listitem">
301            Removed the interface to use the library without the macro (programmers
302            were required to write too much boiler-plate code for the non-macro interface
303            to be actually usable, plus supporting both the macro and non-macro interfaces
304            limited what the macros could do).
305          </li>
306</ol></div>
307<p>
308        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.4.0" target="_top">files</a>.
309      </p>
310</div>
311<div class="section">
312<div class="titlepage"><div><div><h3 class="title">
313<a name="boost_contract.release_notes.release_0_3_490"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_3_490" title="Release 0.3.490">Release
314      0.3.490</a>
315</h3></div></div></div>
316<p>
317        March 7, 2010
318      </p>
319<p>
320        Support for most/all C++ constructs:
321      </p>
322<div class="orderedlist"><ol class="orderedlist" type="1">
323<li class="listitem">
324            Added support and examples for <code class="computeroutput"><span class="keyword">volatile</span></code>,
325            <code class="computeroutput"><span class="keyword">auto</span></code>, <code class="computeroutput"><span class="keyword">explicit</span></code>,
326            <code class="computeroutput"><span class="keyword">export</span></code>, <code class="computeroutput"><span class="keyword">extern</span></code>,
327            <code class="computeroutput"><span class="keyword">friend</span></code>, <code class="computeroutput"><span class="keyword">inline</span></code>,
328            <code class="computeroutput"><span class="keyword">struct</span></code>, and <code class="computeroutput"><span class="keyword">throw</span></code> (for exception specifications).
329          </li>
330<li class="listitem">
331            Documented that <code class="computeroutput"><span class="keyword">union</span></code> cannot
332            be contracted.
333          </li>
334</ol></div>
335<p>
336        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.3.490" target="_top">files</a>.
337      </p>
338</div>
339<div class="section">
340<div class="titlepage"><div><div><h3 class="title">
341<a name="boost_contract.release_notes.release_0_3_469"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_3_469" title="Release 0.3.469">Release
342      0.3.469</a>
343</h3></div></div></div>
344<p>
345        February 21, 2010
346      </p>
347<p>
348        Support for most/all contract programming features:
349      </p>
350<div class="orderedlist"><ol class="orderedlist" type="1">
351<li class="listitem">
352            Removed use of <code class="computeroutput"><span class="identifier">self</span></code>,
353            <code class="computeroutput"><span class="identifier">variable</span><span class="special">.</span><span class="identifier">now</span></code>, and <code class="computeroutput"><span class="identifier">variable</span><span class="special">.</span><span class="identifier">old</span></code>
354            in writing contracts. Object <code class="computeroutput"><span class="keyword">this</span></code>
355            and variables are now accessed as usual in member functions. <code class="computeroutput"><span class="identifier">CONTRACT_OLDOF</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span></code>
356            is used to access old values in postconditions.
357          </li>
358<li class="listitem">
359            Added <code class="computeroutput"><span class="special">(</span><span class="identifier">precondition</span><span class="special">)</span></code>, <code class="computeroutput"><span class="special">(</span><span class="identifier">postcondition</span><span class="special">)</span></code>,
360            and <code class="computeroutput"><span class="special">(</span><span class="identifier">body</span><span class="special">)</span></code> to specify contracts within the function
361            signature sequence. If no preconditions then <code class="computeroutput"><span class="special">(</span><span class="identifier">precondition</span><span class="special">)</span>
362            <span class="special">({...})</span></code> is simply omitted from
363            the sequence (same for postconditions, body is mandatory instead). For
364            non-void functions, users can name the result argument with <code class="computeroutput"><span class="special">(</span><span class="identifier">postcondition</span><span class="special">)</span> <span class="special">(</span><span class="identifier">result</span><span class="special">-</span><span class="identifier">name</span><span class="special">)</span> <span class="special">({...})</span></code>.
365          </li>
366<li class="listitem">
367            Changed contract class template to use same syntax as Boost.Function
368            (i.e., <code class="computeroutput"><span class="identifier">F</span></code> function type).
369          </li>
370<li class="listitem">
371            Added support for free functions and static member functions.
372          </li>
373<li class="listitem">
374            Added support for subcontracting with multiple inheritance.
375          </li>
376<li class="listitem">
377            Added static class invariants which are always checked (also at constructors
378            entry, destructor exit, and by static member functions).
379          </li>
380<li class="listitem">
381            Added block invariants and Eiffel-like loop variants.
382          </li>
383<li class="listitem">
384            Added handlers to customize action on contract failure (default to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">terminate</span><span class="special">()</span></code>).
385          </li>
386<li class="listitem">
387            Removed feature for automatic contract documentation using Doxygen (this
388            is not compatible with added <code class="computeroutput"><span class="special">(</span><span class="identifier">precondition</span><span class="special">)</span></code>,
389            <code class="computeroutput"><span class="special">(</span><span class="identifier">postcondition</span><span class="special">)</span></code>, and <code class="computeroutput"><span class="special">(</span><span class="identifier">body</span><span class="special">)</span></code>
390            because Doxygen preprocessor is not capable to handle Boost.Preprocessor
391            sequences).
392          </li>
393<li class="listitem">
394            Rewritten entire documentation (now using Boost.QuickBook instead of
395            Doxygen).
396          </li>
397</ol></div>
398<p>
399        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.3.469" target="_top">files</a>.
400      </p>
401</div>
402<div class="section">
403<div class="titlepage"><div><div><h3 class="title">
404<a name="boost_contract.release_notes.release_0_2_190"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_2_190" title="Release 0.2.190">Release
405      0.2.190</a>
406</h3></div></div></div>
407<p>
408        November 21, 2009
409      </p>
410<p>
411        Compiled on both GCC and MSVC:
412      </p>
413<div class="orderedlist"><ol class="orderedlist" type="1">
414<li class="listitem">
415            Compiled using both GCC (Linux and Cygwin) and MSVC (Windows XP).
416          </li>
417<li class="listitem">
418            Required to use void to specify empty function argument list. This is
419            to comply with C++03 standard that does not allow to pass empty macro
420            parameters so it does not support empty preprocessor sequences <code class="computeroutput"><span class="special">()</span></code>.
421          </li>
422</ol></div>
423<p>
424        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.2.190" target="_top">files</a>.
425      </p>
426</div>
427<div class="section">
428<div class="titlepage"><div><div><h3 class="title">
429<a name="boost_contract.release_notes.release_0_1_126"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_1_126" title="Release 0.1.126">Release
430      0.1.126</a>
431</h3></div></div></div>
432<p>
433        June 17, 2009
434      </p>
435<p>
436        Added documentation:
437      </p>
438<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
439            Completed first documentation draft.
440          </li></ol></div>
441<p>
442        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.1.126" target="_top">files</a>.
443      </p>
444</div>
445<div class="section">
446<div class="titlepage"><div><div><h3 class="title">
447<a name="boost_contract.release_notes.release_0_1_55"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_1_55" title="Release 0.1.55">Release
448      0.1.55</a>
449</h3></div></div></div>
450<p>
451        April 19, 2009
452      </p>
453<p>
454        Cleaned-up first release:
455      </p>
456<div class="orderedlist"><ol class="orderedlist" type="1">
457<li class="listitem">
458            Reorganized files to cleanup root directory.
459          </li>
460<li class="listitem">
461            Added installation program.
462          </li>
463</ol></div>
464<p>
465        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.1.55" target="_top">files</a>.
466      </p>
467</div>
468<div class="section">
469<div class="titlepage"><div><div><h3 class="title">
470<a name="boost_contract.release_notes.release_0_1_50"></a><a class="link" href="release_notes.html#boost_contract.release_notes.release_0_1_50" title="Release 0.1.50">Release
471      0.1.50</a>
472</h3></div></div></div>
473<p>
474        April 19, 2009
475      </p>
476<p>
477        First release:
478      </p>
479<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
480            First public release.
481          </li></ol></div>
482<p>
483        Released <a href="https://github.com/boostorg/contract/releases/tag/v0.1.50" target="_top">files</a>.
484      </p>
485</div>
486</div>
487<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
488<td align="left"></td>
489<td align="right"><div class="copyright-footer">Copyright © 2008-2019 Lorenzo Caminiti<p>
490        Distributed under the Boost Software License, Version 1.0 (see accompanying
491        file LICENSE_1_0.txt or a copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
492      </p>
493</div></td>
494</tr></table>
495<hr>
496<div class="spirit-nav">
497<a accesskey="p" href="../BOOST_CO_idm46268584298528.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="bibliography.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
498</div>
499</body>
500</html>
501