Boost logo

Boost :

From: Dave Harris (brangdon_at_[hidden])
Date: 2002-12-16 17:27:37


In-Reply-To: <20C33C27-10DC-11D7-8CF3-0003939BD83A_at_[hidden]>
On Mon, 16 Dec 2002 10:52:45 +0100 Matthias Troyer
(troyer_at_[hidden]) wrote:
> Thus to summarize, I propose to split the serialization archive into a
> serialization engine, doing the serialization of the basic types, and
> an archive class which takes the engine as a template parameter.

I'm not convinced about that split. I suspect the archive format will
often need control over how basic types are represented. Also, I suspect
there ought to be some provision for meta-data at the basic types level.

For example, I might want the archive to store the size and byte-order of
ints on the save platform, so that the load platform can convert if need
be. I only want to store this once per archive, not once per int. It
really belongs in the archive preamble, which must be defined by the
archive. So in at least some cases, the engine and the archive are not
very orthogonal. In practice I don't see that many situations where I
would want to mix and match archive formats against basic type engines.

In general you seem to be concerned about low-level issues, and minimal
overhead. I, on the other hand, will be disappointed if we don't get a
library capable of serialising to XML.

> a "bottom up" approach

I prefer the breakdown into orthogonal pieces, as we've been discussing
with Augustus. It would be nice if the mechanism for registering and
creating polymorphic types could be used independently of serialisation,
rather than being layered on top of it.

-- Dave Harris


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