| [29] | 1 | <!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | 
|---|
 | 2 | <html> | 
|---|
 | 3 | <!-- | 
|---|
 | 4 | (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .  | 
|---|
 | 5 | Use, modification and distribution is subject to the Boost Software | 
|---|
 | 6 | License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | 
|---|
 | 7 | http://www.boost.org/LICENSE_1_0.txt) | 
|---|
 | 8 | --> | 
|---|
 | 9 | <head> | 
|---|
 | 10 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | 
|---|
 | 11 | <link rel="stylesheet" type="text/css" href="../../../boost.css"> | 
|---|
 | 12 | <link rel="stylesheet" type="text/css" href="style.css"> | 
|---|
 | 13 | <title>Serialization - Release Notes</title> | 
|---|
 | 14 | </head> | 
|---|
 | 15 | <body link="#0000ff" vlink="#800080"> | 
|---|
 | 16 | <table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header"> | 
|---|
 | 17 |   <tr>  | 
|---|
 | 18 |     <td valign="top" width="300">  | 
|---|
 | 19 |       <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3> | 
|---|
 | 20 |     </td> | 
|---|
 | 21 |     <td valign="top">  | 
|---|
 | 22 |       <h1 align="center">Serialization</h1> | 
|---|
 | 23 |       <h2 align="center">Release Notes</h2> | 
|---|
 | 24 |     </td> | 
|---|
 | 25 |   </tr> | 
|---|
 | 26 | </table> | 
|---|
 | 27 | <hr> | 
|---|
 | 28 | <dl class="index"> | 
|---|
 | 29 |   <dt><a href="#requirements">Requirements</a></dt> | 
|---|
 | 30 |   <dt><a href="#recent_improvements">Differences from version 1.32</a></dt> | 
|---|
 | 31 |   <dt><a href="#todo">Pending Issues</a></dt> | 
|---|
 | 32 | </dl> | 
|---|
 | 33 | This is the Boost 1.33 Serialization Library. | 
|---|
 | 34 | There are currently no known bugs. However, due to compiler/library quirks and or  | 
|---|
 | 35 | bugs, some tests fail with some combinations of compilers and libraries. | 
|---|
 | 36 | <h2><a name="requirements"></a>Requirements</h2> | 
|---|
 | 37 | This library requires Boost version 1.33 or later. | 
|---|
 | 38 | <p> | 
|---|
 | 39 | The serialization library uses the boost spirit package to load XML archives. | 
|---|
 | 40 | We have found that all tests pass using spirit 1.6x. Spirit 1.8 and higher does not work with | 
|---|
 | 41 | older compilers - specificallly MSVC 6, Borland and GCC < 3.0. | 
|---|
 | 42 | If you are using one of these compilers, you may download a version | 
|---|
 | 43 | of spirit 1.6 <a href="http://spirit.sourceforge.net/index.php?doc=download/index.html">here</a>. | 
|---|
 | 44 | Choose the latest 1.6.x Spirit only version available. | 
|---|
 | 45 | To use this downloaded version rather than the one included with boost, | 
|---|
 | 46 | you have two options: either replace the <code style="white-space: normal">boost/spirit</code> and | 
|---|
 | 47 | <code style="white-space: normal">libs/spirit</code> directories, as well as the | 
|---|
 | 48 | <code style="white-space: normal">boost/spirit.hpp</code> header, with those in the downloaded version, | 
|---|
 | 49 | or extract Spirit 1.6 to a different directory and add the corresponding include directive to your | 
|---|
 | 50 | <code style="white-space: normal">tools/build/v2/user-config.jam</code> file for all the | 
|---|
 | 51 | compilers that need it, as in the following example: | 
|---|
 | 52 | <pre><code> | 
|---|
 | 53 | using borland : 5.6.4 : "C:/Program Files/Borland/CBuilder6/Bin/bcc32" :  | 
|---|
 | 54 |         <cxxflags>-IC:/spirit1.6 ; | 
|---|
 | 55 | </code></pre> | 
|---|
 | 56 | If you're not using bjam and the Jamfile to build the library, be sure that | 
|---|
 | 57 | the directory which contains the version of spirit you plan to use is placed | 
|---|
 | 58 | at the front of the list of include paths. | 
|---|
 | 59 |  | 
|---|
 | 60 | <h2><a name="recent_improvements"></a>Differences from Boost 1.32</h2> | 
|---|
 | 61 | <ul> | 
|---|
 | 62 |     <li>Dynamic Linking Library (DLLs and shared libraries) for platforms which support them. See | 
|---|
 | 63 |     <a href="../../../more/getting_started.html#auto-link">Automatic Linking on Windows</a>. | 
|---|
 | 64 |     <li>Implementation of auto-link for compilers which can support this. | 
|---|
 | 65 |     <li>Better support for <em>Argument Dependent Lookup</em> and two-phase lookup. | 
|---|
 | 66 |     This results in simpler rules regarding the placing of serialization specializations | 
|---|
 | 67 |     namespaces. | 
|---|
 | 68 |     <li>Enhanced documentation to help explain usage of the above. | 
|---|
 | 69 |     <li>Adjustments to improve support for less conformant compilers. | 
|---|
 | 70 |     <li>Improved <code>const</code> correctness for save/load operators.  Note that this may | 
|---|
 | 71 |     produce compile time errors in code which compiled without problem in earlier boost releases. | 
|---|
 | 72 |     In most cases the fix is trivial.  In other cases, code should be scrutinized to be | 
|---|
 | 73 |     sure that it doesn't use the serializaton system in a way which may introduce subtle bugs in | 
|---|
 | 74 |     to the program.  A fuller explanation of this issue can be found | 
|---|
 | 75 |     <a target="detail" href="traits.html#tracking">here</a>. | 
|---|
 | 76 |     <li>A new implementation of serialization for <code style="white-space: normal">shared_ptr<T></code>.  This | 
|---|
 | 77 |     is compatible with public interface of <code style="white-space: normal">shared_ptr<T></code> | 
|---|
 | 78 |     so it should be more robust and not have to change in the future.  The implementation optionally | 
|---|
 | 79 |     includes code to load <code style="white-space: normal">shared_ptr<T></code> stored in  | 
|---|
 | 80 |     archives created with boost 1.32.  This code is stored in the header: | 
|---|
 | 81 |     <code style="white-space: normal">boost/serialization/shared_ptr_132.hpp</code>. If your application | 
|---|
 | 82 |     needs to load archives created with boost 1.32 libraries, include the above header | 
|---|
 | 83 |     before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>. | 
|---|
 | 84 |     <li>More compilers tested and supported. | 
|---|
 | 85 |     <li>Miscelleanous bug fixes. | 
|---|
 | 86 | </ul> | 
|---|
 | 87 | <h2><a name="recent_improvements"></a>Differences from Boost 1.33</h2> | 
|---|
 | 88 | <ul> | 
|---|
 | 89 |     <li>Native Binary archives use the <code style="white-space: normal">std::streambuf</code> interface. | 
|---|
 | 90 |     This should result in noticible faster execution in some cases. | 
|---|
 | 91 | </ul> | 
|---|
 | 92 |  | 
|---|
 | 93 | <h2><a name="todo"></a>Pending issues</h2> | 
|---|
 | 94 | <ul> | 
|---|
 | 95 |     <li>Compile, and test on more platforms | 
|---|
 | 96 |     <li>implement <code>is_virtual_base<T></code> to automatically | 
|---|
 | 97 |     eliminate redundancy in virtual base class serialization. | 
|---|
 | 98 |     <li>currently can't serialize through a pointer an object a of class | 
|---|
 | 99 |     that implements its own <code style="white-space: normal">new/delete</code> operators. | 
|---|
 | 100 |     <li>Its possible that <code style="white-space: normal">std::string</code> | 
|---|
 | 101 |     and <code style="white-space: normal">std::wstring</code> contain characters such as | 
|---|
 | 102 |     '\0' which cannot be rendered in XML without an escape mechanism.  Currently there is  | 
|---|
 | 103 |     no such escape mechanism implemented. | 
|---|
 | 104 |     <li>A subtle error in the implementation of serialiaton of <code style="white-space: normal">std::map</code> | 
|---|
 | 105 |     is fixed in this version.  Unfortunately, the fix breaks serialization of | 
|---|
 | 106 |     <code style="white-space: normal">std::map</code> for those compilers which do not support | 
|---|
 | 107 |     partial template specialization. | 
|---|
 | 108 |     <li>Floating point values which are number cannot be serialized to text base archives. | 
|---|
 | 109 | </ul> | 
|---|
 | 110 | <p> | 
|---|
 | 111 | Aside from the above, there are a number of issus related to specific platforms.   | 
|---|
 | 112 | These are listed in <a href="implementation.html#othercompilerissues">Specific Compiler/Library Issues</a>. | 
|---|
 | 113 |  | 
|---|
 | 114 |  | 
|---|
 | 115 | <hr> | 
|---|
 | 116 | <p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004.  | 
|---|
 | 117 | Distributed under the Boost Software License, Version 1.0. (See | 
|---|
 | 118 | accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | 
|---|
 | 119 | </i></p> | 
|---|
 | 120 | </body> | 
|---|
 | 121 | </html> | 
|---|