Boost logo

Boost :

Subject: Re: [boost] [1.44] Beta progress?
From: Matthias Troyer (troyer_at_[hidden])
Date: 2010-07-22 13:58:56


On 22 Jul 2010, at 12:47, Robert Ramey wrote:
>
> Are you sure that there is no way around the mpi library requiring a default
> constructor which
> it should never invoke? That makes the mpi library dependent on an internal
> detail of the
> the serialization library. Is that the best/only way to handle this?

The other compilers seem to optimize away the constructor of an unused argument, while the sun compiler seems to insist on instantiating it. We can redesign the MPI library to work around that breaking change in your library but I then wonder what you will break next.

I totally disagree with your statements that we depend on internal details of Boost.Serialization. Boost.Serialization does publish an (incomplete!) archive concept and you did intend that others can extend it with new archive classes. Thus, the types you use to serialize version information, etc. and the list of "primitive types" which any archive has to explicitly support belong to the public interface of your library. It would be good if you could add information to the documentation that states this list of types and the concepts they satisfy. In the absence of that information I can validly assume that the public members of the version_type, etc. is what I can use and which will not change. The moment you allow new archive classes to be written, the version_type, etc. is no longer an internal detail!

Matthias


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