$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Nicola Musatti (Nicola.Musatti_at_[hidden])
Date: 2007-05-05 03:38:21
Peter Dimov wrote:
[...]
> If your serialization methods
>
> - allow creation of objects whose invariants do not hold, or
Of course. This is analogous to writing a buggy copy constructor.
> - expose implementation details in the external representation,
This is more tricky: you may want to serialize an object which is in a
state that in normal circumstances is not the direct outcome of
construction, but rather is the result of some activity. How can you
manage that? Either you provide a special purpose constructor or you
open up the object's internal state.
I would say that while a "serializable" class should be independent of
the serialization machinery, the provision of a specific serialization
interface must be explicitly considered. This interface is indeed part
of the class.
Cheers,
Nicola Musatti