diff --git a/doc/contents.html b/doc/contents.html index b38e756f..6d6af85b 100644 --- a/doc/contents.html +++ b/doc/contents.html @@ -87,6 +87,7 @@ function initialize() {
Release Notes
Requirements
+
Differences from version 1.35
Differences from version 1.34
Differences from version 1.32
Differences from version 1.33
diff --git a/doc/release.html b/doc/release.html index 7cbde970..588e36d2 100644 --- a/doc/release.html +++ b/doc/release.html @@ -27,15 +27,18 @@ http://www.boost.org/LICENSE_1_0.txt)
Requirements
+
Differences from version 1.35
Differences from version 1.34
Differences from version 1.33
Differences from version 1.32
Pending Issues
-There are currently no known bugs. However, due to compiler/library quirks and or +As of this is written, there are no known bugs. However, due to compiler/library quirks and or bugs, some tests fail with some combinations of compilers and libraries.

Requirements

This library has been tested on Boost version 1.34 and 1.35. + + + +

Differences from Boost 1.35

+
    +
  • The library is now thread safe. That is, multiple archives can be open + in different threads. This has been implmented with a lock-free algorithm + to avoid any performance bottlenecks. +
  • Serialization of types defined in shared libraries is now supported. + shared libraries (DLLS) can be loaded/unloaded dynamically at runtime. + This includes the serialization of types of abstract base classes so that + a program can be written so as to be compatible with as yet undefined + and un-implemented code. +
  • The extended type info system has been enhanced to in order to implement + the above. It is now a general purpose system for creating and casting of + types about which is only known a string ID and an abstract base class. +
  • All bug reports filed as TRAK tickets have been addressed. +
  • As of this writing, the library will fail build on older compilers such + as MSVC before version 7.1 and older versions of Borland compilers. This + may or maynot change in the future. +
  • In previous versions, all types serialized through a pointer were + automatically "registered" as a side-effect. This made it unnecessary to + explicitly register or export these types if they were subsequently + serialized through a pointer to a base class. On rare occasions this + created some difficulties by instantiating undesired code and made + the requirement for registration and/or export dependent on the sequence + of operations. So any type that is to be serialized through a base + class pointer must be either explicitly registered or exported. This + might break some code and result in the throwing of "unregistered type" + exception. +

Differences from Boost 1.34

    @@ -58,7 +91,6 @@ at the front of the list of include paths.
  • Improved implementation of "export" functionality. Removes header ordering requirement and eliminates the maintenance of a pre-determined list of "known archives" By David Abrahams. -
  • Library is now thread-safe.
  • Improved support for STLPort.
@@ -99,8 +131,6 @@ at the front of the list of include paths.

Pending issues

  • Compile, and test on more platforms -
  • implement is_virtual_base<T> to automatically - eliminate redundancy in virtual base class serialization.
  • currently can't serialize through a pointer an object a of class that implements its own new/delete operators.
  • Its possible that std::string diff --git a/doc/static_warning.html b/doc/static_warning.html index 8140c722..d3cf2835 100644 --- a/doc/static_warning.html +++ b/doc/static_warning.html @@ -25,7 +25,25 @@ http://www.boost.org/LICENSE_1_0.txt)
    -To do. + +The header <boost/static_warning.hpp> supplies a single macro +BOOST_STATIC_WARNING(x), which generates a compile time warning message if +the integral-constant-expression x is not true. +

    +Note that if the condition is true, then the macro will generate neither +code nor data - and the macro can also be used at either namespace, +class or function scope. When used in a template, the expression x +will be evaluated at the time the template is instantiated; this is +particularly useful for validating template parameters. +

    +It is intended that the functioning of BOOST_STATIC_WARNING(x) +be identical to that of BOOST_STATIC_ASSERT(x) +except that rather than resulting in a compilation error, it will result in +a compiler warning. In all other respects it should be the same. So +for more information on using BOOST_STATIC_WARNING(x) +consult the documentation for BOOST_STATIC_ASSERT(x) +here. +


    © Copyright Robert Ramey 2002-2004. Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/traits.html b/doc/traits.html index 5db668e3..01dbca79 100644 --- a/doc/traits.html +++ b/doc/traits.html @@ -471,6 +471,32 @@ and template parameters should be assigned according to the following table: IsWrapperis the type a wrapper?mpl::false_
    mpl::true_
    mpl::false_ + +

    Bitwise serialization

    +Some simple classes could be serialized just by directly copying all bits +of the class. This is, in particular, the case for POD data types containing +no pointer members, and which are neither versioned nor tracked. Some archives, +such as non-portable binary archives can make us of this information to +substantially speed up serialization. + +To indicate the possibility of bitwise serialization the type trait defined +in the header +file is_bitwise_serializable.hpp +is used: +
    
    +namespace boost { namespace serialization {
    +    template
    +    struct is_bitwise_serializable
    +     : public is_arithmetic
    +    {};
    +} }
    +
    +is used, and can be specialized for other classes. The specialization +is made easy by the corresponding macro: +
    
    +BOOST_IS_BITWISE_SERIALIZABLE(my_class)
    +
    +

    © Copyright Robert Ramey 2002-2004 and Matthias Troyer 2006. Distributed under the Boost Software License, Version 1.0. (See