Boost logo

Boost :

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


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