On Wed, Apr 24, 2019 at 12:50 PM Robert Ramey via Boost
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_...
So, if I want to serialize boost::flyweight's, I need to include
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