Subject: Re: [boost] [modularization] proposal and poll
From: Peter Dimov (lists_at_[hidden])
Date: 2014-05-30 13:15:53
Glen Fernandes wrote:
> On Fri, May 30, 2014 at 9:02 AM, Peter Dimov <lists_at_[hidden]> wrote:
> > exception:
> > adds smart_ptr
> > adds tuple
> This was the most surprising to me. I assumed, and now really desire,
> exception to not have any other dependencies.
It's a false dependency. 'exception' only depends on 'tuple' if you include
one specific header. (I think that Emil was considering its removal.)
In addition, we only use throw_exception.hpp, which actually doesn't even
need 'exception'; it's (almost) self-contained. It could be extracted into
its own 'throw_exception' module.
Neil Groves wrote:
> I'm not sure this report is giving an accurate representation of the true
> dependencies of smart_ptr.
It contains a lot of false dependencies that are brought in because module X
needs Y1.hpp in module Y, which also contains Y2.hpp, which needs Z, which
is not needed by X.
But that is just how module-level dependencies work. If we adopt the simple
scheme of specifying dependencies on a module basis, X will list Y and Y
will list Z, and we'll get the result I posted.
I could have built the transitive closure of the actual #includes, and it
would have given a different result, but that's not what I'm emulating.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk