|
SerializationRelease Notes |
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 here. 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.
set SPIRIT_ROOT=c:/spirit16
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.
const
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
here.
shared_ptr<T>
. This
is compatible with public interface of shared_ptr<T>
so it should be more robust and not have to change in the future. The implementation optionally
includes code to load shared_ptr<T>
stored in
archives created with boost 1.32. This code is stored in the header:
boost/serialization/shared_ptr_132.hpp
. If your application
needs to load archives created with boost 1.32 libraries, include the above header
before each inclusion of boost/serialization/shared_ptr.hpp
.
std::streambuf
interface.
This should result in noticibly faster execution in many cases.
is_virtual_base<T>
to automatically
eliminate redundancy in virtual base class serialization.
new/delete
operators.
std::string
and std::wstring
contain characters such as
'\0' which cannot be rendered in XML without an escape mechanism. Currently there is
no such escape mechanism implemented.
std::map
is fixed in this version. Unfortunately, the fix breaks serialization of
std::map
for those compilers which do not support
partial template specialization.
Aside from the above, there are a number of issus related to specific platforms. These are listed in Specific Compiler/Library Issues.
© Copyright Robert Ramey 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)