Boost logo

Boost :

Subject: Re: [boost] Making two Boost libraries interoperate
From: James E. King III (jking_at_[hidden])
Date: 2019-04-24 17:40:19


On Wed, Apr 24, 2019 at 12:50 PM Robert Ramey via Boost
<boost_at_[hidden]> wrote:
>
> On 4/24/19 9:00 AM, stefan via Boost wrote:
> >
> > On 2019-04-24 11:56 a.m., Joaquin M López Muñoz via Boost wrote:
> >>
> >> Not sure if this helps, but the way I did it in Boost.Flyweight is by
> >> isolating all serialization code
> >> in a separate header:
> >>
> >> https://www.boost.org/libs/flyweight/doc/reference/flyweight.html#serialize_synopsis
> >>
> >>
> >> So, if I want to serialize boost::flyweight's, I need to include
> >> <boost/flyweight/serialize.hpp>
> >> and link with Boost.Serialization. This, I think, makes
> >> Boost.Flyweight technically not dependent
> >> on Boost.Serialization.
> >
> > Right, this is *exactly* what I tried to propose as the right approach
> > in my first reply. :-)
>
> Right - every library should be doing this. Likely the same applies to
> other libraries as well.
>

For Peter Dimov's dependency inspection project(s) I think would be
interesting to be able to express optional headers (perhaps in each
project meta?), and for each of those optional headers we could call
out their dependencies separately. Chances are these are already
documented per project, but not otherwise expressed.

For something like cmake it would be a question as to whether their
built-in library dependency logic in FindBoost.cmake was for required,
or for required and optional dependencies, but that's their call.

- Jim


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