File: release.html

package info (click to toggle)
boost1.35 1.35.0-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 203,856 kB
  • ctags: 337,867
  • sloc: cpp: 938,683; xml: 56,847; ansic: 41,589; python: 18,999; sh: 11,566; makefile: 664; perl: 494; yacc: 456; asm: 353; csh: 6
file content (125 lines) | stat: -rw-r--r-- 6,847 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!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=UTF-8">
<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="#differences_1_32">Differences from version 1.32</a></dt>
  <dt><a href="#differences_1_33">Differences from version 1.33</a></dt>
  <dt><a href="#differences_1_34">Differences from version 1.34</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="differences_1_32"></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&lt;T&gt;</code>.  This
    is compatible with public interface of <code style="white-space: normal">shared_ptr&lt;T&gt;</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&lt;T&gt;</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="differences_1_33"></a>Differences from Boost 1.33</h2>
<ul>
    <li>Native Binary archives use the <code style="white-space: normal">std::streambuf</code> interface.
    This should result in noticibly faster execution in many cases.
</ul>

<h2><a name="differences_1_34"></a>Differences from Boost 1.34</h2>
<ul>
    <li>Ehanced support for fast serialiation for native binary archives. By Mattias Troyer.
    <li>Improved implementation of "export" functionality.  Removes header ordering
        requirement and eliminates the maintainence of a pre-determined list of "known archives"
        By David Abrahams.
    <li>Improved support for STLPort.
</ul>

<h2><a name="todo"></a>Pending issues</h2>
<ul>
    <li>Compile, and test on more platforms
    <li>implement <code>is_virtual_base&lt;T&gt;</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.
    <li>A subtle error in the implementation of serialiaton of <code style="white-space: normal">std::map</code>
    is fixed in this version.  Unfortunately, the fix breaks serialization of
    <code style="white-space: normal">std::map</code> for those compilers which do not support
    partial template specialization.
    <li>Floating point values which are number cannot be serialized to text base archives.
</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>&copy; Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2007. 
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>