Boost logo

Boost :

Subject: Re: [boost] [type_traits] Rewrite and dependency free version
From: Robert Ramey (ramey_at_[hidden])
Date: 2015-02-02 20:07:03

Peter Dimov-2 wrote
> Robert Ramey wrote:
> ...
>> Modest Proposal - Bridge module
>> We create a new module - named "bridge". In this module there is a
>> directory: boost/bridge/archive.hpp. This contains only forward
>> declarations:
>> class basic_iarchive;
>> class basic_oarchive;
>> and maybe some other miscellaneous stuff. This includes no headers from
>> boost/archive.
>> in date-time/serialization.hpp files in other libraries replace
>> #include <boost/archive/basic_iarchive.hpp>
>> with
>> #include <boost/bridge/archive.hpp>
> Date_time doesn't include basic_iarchive.hpp. It doesn't include anything
> from boost/archive. It only includes
> boost/serialization/nvp.hpp
> and
> boost/serialization/split_free.hpp
> Look at the dependency report. Don't try to solve problems that don't
> exist.

OK - I looked at the report and I think I understand the problem better now.
I had presumed that the report followed header inclusions to determine
dependencies. I see now that it doesn't. It looks that as soon as it
finds finds that split_free is in the serialization module it just assumes
that everything in the serialization module has to be included if
date-time/serialization.hpp is included. That includes archive, xml_archive
spirite - the whole ball of wax. Consider refining the dependency checker
so that it doesn't consider the whole module but rather the top level
directory. In this case, if you just included dependencies in
rather than boost/serialization + boost/archive, we might already have
what we need. I'm thinking this is the thrust of Rene's suggestion.

Robert Ramey

View this message in context:
Sent from the Boost - Dev mailing list archive at

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