Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2003-11-01 21:49:26


I have just uploaded Draft #13 of the serialization library to the
files section.

This library uses parts of boost development library that as of
 this date are not part of the latest release. This includes the
new iterator adaptors. So in order to install/test this package
you will have to either have installed on your machine a recent
copy of the the development library or wait until release 1.31.0
due out shortly.

Differences from Draft #12
==========================

Many small changes made in the hope of supporting less conforming
compilers - on going.

Corrections of programming errors in binary archives

BOOST_NO_EXCEPTIONS is supported so exception handling in the
library is now optional.

Case study and demo for shared_ptr serialization included.

Overrides for serialization of pointers altered to a system based
on inplace construction. This results in a more transparent and
complete way to handle non-default constructors. All issues raised
regarding non-default and/or private constructors addressed.
Many improvements in documentation to improve accuracy and completeness.
 
Platforms
=========

MSVC 7.0 - successful compile, link, and all serialization tests
Some users have reported good success with MSVC 7.1

MSVC 6.5 - successful compile, pending library issues.
Pavel Vozenilek is working this.

GCC 3.2.2 under cygwin -This combination doesn't support wide
character i/o All tests which don't use wide character i/o compile,
link and pass

GCC 3.2.2.5 on red hat 9 Iain K. Hanson Reports of compile, link
and passing some tests.
GCC 3.3 under linux. Vladimir Prus is doing this. I'm not sure of the exact status.

Borland - still trying to compile, Pavel Vozenilek and Fernando Cacciola
are working this.

I have only built debug versions. In my experience this is not enough.
Release builds and test are required.

To Do
=====
Compile, and test on more platforms

Alter archive implementation to permit derivation. Make case study and test.

Implement serialize/save/load binary for text and XML archives using
base64 character encoding. Required iterators done.

Documentation - pending sections

"Derivation from an Existing Archive Class"
STATIC_WARNING
state_saver
validation of html documentation.
document text iterator adaptors.

Miscellaneous
=============
certain special situations can be detected and addressed at compile
time to generate faster code. For example, for types serialized without
class information, and without memory tracking, the serialization process
can be reduced to a minimal amount of inline code.
 
implement is_virtual_base<T> to automatically eliminate redundancy
in virtual base class serialization.

better "boostification" using inspect

minor adjustments requred in heap allocation of new objects during pointer serialization

I would recommend that parties interested in a serialization package do the following:
Download this package and unzip.

Read the tutorial part of the documentation and inspect the demo programs.

If this is interesting and useful to you, follow the instructions in
the release notes to build and run the tests. Considerable effort has
 been invested in making jamfiles and regression testing work for this library.
It would be very useful if users would take advantage of this.

Report your results back to the list. Constructive comments are always welcome.
Questions are answered and often result in an amplification of some aspect
of the documentation.

This library is very close to where I want it to be. I would like to see
it scheduled for review. This would be the 2nd anual Boost Serialization
Library review. The last one was huge fun for all involved. Don't miss it.

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk