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.
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.
constcorrectness 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
std::streambufinterface. This should result in noticibly faster execution in many cases.
is_virtual_base<T>to automatically eliminate redundancy in virtual base class serialization.
std::wstringcontain characters such as '\0' which cannot be rendered in XML without an escape mechanism. Currently there is no such escape mechanism implemented.
std::mapis fixed in this version. Unfortunately, the fix breaks serialization of
std::mapfor 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)