mirror of
https://github.com/boostorg/serialization.git
synced 2026-01-24 06:22:08 +00:00
107 lines
5.5 KiB
HTML
107 lines
5.5 KiB
HTML
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<!--
|
|
(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
|
|
Use, modification and distribution is subject to the Boost Software
|
|
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt)
|
|
-->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
|
<link rel="stylesheet" type="text/css" href="style.css">
|
|
<title>Serialization - Release Notes</title>
|
|
</head>
|
|
<body link="#0000ff" vlink="#800080">
|
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
|
|
<tr>
|
|
<td valign="top" width="300">
|
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
|
</td>
|
|
<td valign="top">
|
|
<h1 align="center">Serialization</h1>
|
|
<h2 align="center">Release Notes</h2>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr>
|
|
<dl class="index">
|
|
<dt><a href="#requirements">Requirements</a></dt>
|
|
<dt><a href="#recent_improvements">Differences from version 1.32</a></dt>
|
|
<dt><a href="#todo">Pending Issues</a></dt>
|
|
</dl>
|
|
This is the Boost 1.33 Serialization Library.
|
|
There are currently no known bugs. However, due to compiler/library quirks and or
|
|
bugs, some tests fail with some combinations of compilers and libraries.
|
|
<h2><a name="requirements"></a>Requirements</h2>
|
|
This library requires Boost version 1.33 or later.
|
|
<p>
|
|
The serialization library uses the boost spirit package to load XML archives.
|
|
We have found that all tests pass using spirit 1.6x. Spirit 1.8 and higher does not work with
|
|
older compilers - specificallly MSVC 6, Borland and GCC < 3.0.
|
|
If you are using one of these compilers, you may download a version
|
|
of spirit 1.6 <a href="http://spirit.sourceforge.net/index.php?doc=download/index.html">here</a>.
|
|
To use this downloaded version rather than the one included with boost,
|
|
set an environmental variable SPIRIT_ROOT to be equal to the root
|
|
directory where the downloaded copy of spirit has been placed. E. G.
|
|
<pre><code>
|
|
set SPIRIT_ROOT=c:/spirit16
|
|
</code></pre>
|
|
If you're not using bjam and the Jamfile to build the library, be sure that
|
|
the directory which contains the version of spirit you plan to use is placed
|
|
at the front of the list of include paths.
|
|
|
|
<h2><a name="recent_improvements"></a>Differences from Boost 1.32</h2>
|
|
<ul>
|
|
<li>Dynamic Linking Library (DLLs and shared libraries) for platforms which support them. See
|
|
<a href="../../../more/getting_started.html#auto-link">Automatic Linking on Windows</a>.
|
|
<li>Implementation of auto-link for compilers which can support this.
|
|
<li>Better support for <em>Argument Dependent Lookup</em> and two-phase lookup.
|
|
This results in simpler rules regarding the placing of serialization specializations
|
|
namespaces.
|
|
<li>Enhanced documentation to help explain usage of the above.
|
|
<li>Adjustments to improve support for less conformant compilers.
|
|
<li>Improved <code>const</code> correctness for save/load operators. Note that this may
|
|
produce compile time errors in code which compiled without problem in earlier boost releases.
|
|
In most cases the fix is trivial. In other cases, code should be scrutinized to be
|
|
sure that it doesn't use the serializaton system in a way which may introduce subtle bugs in
|
|
to the program. A fuller explanation of this issue can be found
|
|
<a target="detail" href="traits.html#tracking">here</a>.
|
|
<li>A new implementation of serialization for <code style="white-space: normal">shared_ptr<T></code>. This
|
|
is compatible with public interface of <code style="white-space: normal">shared_ptr<T></code>
|
|
so it should be more robust and not have to change in the future. The implementation optionally
|
|
includes code to load <code style="white-space: normal">shared_ptr<T></code> stored in
|
|
archives created with boost 1.32. This code is stored in the header:
|
|
<code style="white-space: normal">boost/serialization/shared_ptr_132.hpp</code>. If your application
|
|
needs to load archives created with boost 1.32 libraries, include the above header
|
|
before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>.
|
|
<li>More compilers tested and supported.
|
|
<li>Miscelleanous bug fixes.
|
|
</ul>
|
|
|
|
<h2><a name="todo"></a>Pending issues</h2>
|
|
<ul>
|
|
<li>Compile, and test on more platforms
|
|
<li>implement <code>is_virtual_base<T></code> to automatically
|
|
eliminate redundancy in virtual base class serialization.
|
|
<li>currently can't serialize through a pointer an object a of class
|
|
that implements its own <code style="white-space: normal">new/delete</code> operators.
|
|
<li>Its possible that <code style="white-space: normal">std::string</code>
|
|
and <code style="white-space: normal">std::wstring</code> contain characters such as
|
|
'\0' which cannot be rendered in XML without an escape mechanism. Currently there is
|
|
no such escape mechanism implemented.
|
|
</ul>
|
|
<p>
|
|
Aside from the above, there are a number of issus related to specific platforms.
|
|
These are listed in <a href="implementation.html#othercompilerissues">Specific Compiler/Library Issues</a>.
|
|
|
|
|
|
|
|
<hr>
|
|
<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004.
|
|
Distributed under the Boost Software License, Version 1.0. (See
|
|
accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
</i></p>
|
|
</body>
|
|
</html>
|