Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / contract / doc / html / boost_contract / release_notes.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
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&#160;1.&#160;Boost.Contract 1.0.0">
8 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Contract 1.0.0">
9 <link rel="prev" href="../BOOST_CO_idm45394998486064.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_idm45394998486064.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 &#169; 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_idm45394998486064.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>