Subject: Re: [boost] [serialization] boost/serialization/path.hpp
From: Matthias Troyer (troyer_at_[hidden])
Date: 2011-02-21 10:55:11


On Feb 21, 2011, at 1:06 PM, gast128 wrote:

> Robert Ramey <ramey <at> rrsd.com> writes:
>>
>> what's the problem with putting that file into boost/filesystem ... like
>> the other types do?
>
> If u put it the other way around, one gets Boost.Serialization included if using
> Boost.Filesystem (technically this may depend on the actual headers include, but
> from a conceptual point of view). Imho Boost.Filesystem is a basic concept,
> representing a path (instead of using raw std::string's), so I can imagine in
> time that e.g. iostream and Boost.Serialization uses Boost.Filesystem when a
> path is used in its interface.
>
> Same argument goes for Boost.DateTime (as being a representation of a c++ date
> time).

That's why Robert proposes to put it into a separate header, e.g. boost/filesystem/serialization/path.hpp so that you only include Boost.Serialization if you ned it.

>>> there is already a dependency from Serialization on external
>>> libraries such as on shared_ptr).
>>
>> This is an exception case - it was just too hard for anyone else to do.
>
> Agree, but it wasn't put in the smart pointer library for good reason?

Yes, archives need to explicitly support smart pointers, which is not the case for filesystem.

Matthias