Boost logo

Boost :

From: Dave Harris (brangdon_at_[hidden])
Date: 2002-12-13 10:06:37


In-Reply-To: <20021213015852.3107.qmail_at_[hidden]>
On Thu, 12 Dec 2002 17:58:52 -0800 (PST) Augustus Saunders
(infinite_8_monkey_at_[hidden]) wrote:
> I'm still not sure what UTD refers to.

"User defined type". The payload, the objects which get serialised or
persisted.

> What should a serialization library provide that iostreams doesn't?

(1) Archiving of polymorphic pointers. Loading the archive needs to create
objects of the dynamic type rather than the static type. (I don't believe
we have a good solution to this yet?)

(2) Archiving of shared objects. If two pointers point to the same object
on saving, they should still point to the same object on loading.

(3) A canonical scheme for managing versioning.

(4) Space efficiency. Eg metadata such as version information should be
stored once per class rather than once per object.

(5) Support for a variety of formats, with different trade-offs. Including
(a) efficient formats; (b) human-readable formats; (c) platform
independent formats; (d) standard formats such as XML. I want to be able
to switch between formats without changing the code in my user-defined
types.

[Later...]

I've now read your own answer to your question and we seem to have a lot
of agreement.

-- Dave Harris


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