Boost logo

Boost :

Subject: Re: [boost] [modularization] Extract xml_archive from serialization
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2014-09-22 15:05:06

On 09/19/2014 09:20 AM, Emil Dotchevski wrote:
> On Thu, Sep 18, 2014 at 9:53 PM, Vladimir Prus <vladimir_at_[hidden]>
> wrote:
>> On 09/18/2014 10:29 PM, Emil Dotchevski wrote:
>>> In principle there should be no reason for e.g. time_serialize.hpp to
>>> include Boost Serialization headers in order to define the "load" or"save"
>>> function templates needed for serialization.
>>> For example, to define:
>>> template<class Archive>
>>> void save( Archive & ar, const posix_time::time_duration& td, unsigned int
>>> /*version*/)
>>> {
>>> ....
>>> }
>>> one doesn't need to include any serialization headers.
>> That's true as far as general C++ goes, but you'd very likely need to use
>> BOOST_SERIALIZATION_NVP - and for XML archives it's required to use it -
>> and it's a macro, so two phase lookup won't help?
> Sure, one can write a serialization library that makes this kind of
> definition impossible. My point is that in principle it is possible and if
> there is a general agreement to refactor important libraries to reduce
> physical coupling then it is something that can be done.
> This is even more important for a library like Serialization because any
> data type may need the ability to be serialized yet many (most?) programs
> that use such types will not serialize them.

Yes, it's possible in principle, and even with current serialization code,
but it's not clear that replacing



        boost::serialization::make_nvp("data_member", data_member)

is net win.

- Volodya

Boost list run by bdawes at, gregod at, cpdaniel at, john at