Boost logo

Boost :

Subject: [boost] [modularization] Extract xml_archive from serialization
From: Stephen Kelly (hello_at_[hidden])
Date: 2014-09-16 07:44:28


Hi there,

The biggest single problem of coupling in boost comes from the spirit
dependency in the serialization library. This makes serialization itself
very (and needlessly) heavy:

 http://www.steveire.com/boost/2014sept16_serialization.png

Spirit is used only by the xml archiving classes.

I recommend extracting an xml_archive library from serialization. That way,
serialization no longer depends on spirit, which is already an improvement:

 http://www.steveire.com/boost/2014sept16_serialization-after-extract-xml_archive.png

Further, the serialization classes for boost::variant and boost::array are
in the serialization library. This is not appropriate, as the serialization
classes for all other types are in the libraries providing the types. Move
the serialization classes to those libraries.

 mkdir ../variant/include/boost/serialization
 mv include/boost/serialization/variant.hpp
../variant/include/boost/serialization

 mkdir ../array/include/boost/serialization
 mv include/boost/serialization/array.hpp
../array/include/boost/serialization

This is a large improvement:

 http://www.steveire.com/boost/2014sept16_serialization-after-type-move.png

There is more that can be done. These things can be done now. I recommend
doing them.

Thanks,

Steve.


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