|
Boost : |
From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2007-05-05 13:40:34
----- Mensaje original -----
De: Rene Rivera <grafikrobot_at_[hidden]>
Fecha: Sábado, Mayo 5, 2007 7:05 pm
Asunto: Re: [boost] Serialization support
Para: boost_at_[hidden]
> JOAQUIN LOPEZ MU?Z wrote:
>
> > Ok now I understand, and basically share, your concerns
> > about the lack of documentation on what goes into the serialization
> > stream.
>
> I'm not sure you see the full scope of what Peter is raising, or
> perhaps I'm reading more into it :-) It is not enough to document
> the serialization for, nor the serialization procedure, as that
> leaves out non-Boost Serialization implementations.
Well the idea is, you can leverage the B.S interface to add
yout non-Boost serialization support. As its crudest, you
can do the following:
void non_boost_save(const T& t,non_boost_archive& a)
{
std::ostringstream oss;
{
boost::archive::text_oarchive oa(oss);
oa<<t;
}
a.save(os.str());
}
Something more sensible could be done by defining your
own utility B.S Archive class, you get the idea.
> I happen to have one of those non-Boost implementations,
> and it's implemented non-intrusively. In thinking about
> the scope of designing a serializable class, I consider
> the case of writing an external copy algorithm. If I
> can't write a copy function that given one instance will
> create an equivalent instance, then the class isn't
> usefully serializable.
Here you lost me. I know you're not referring to the following,
but from your description looks like you're asking for
a function
T create_copy(const T& t)
{
return t;
}
which of course is readily available whenever T is
copy-constructible.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk