Subject: Re: [boost] Reducing dependencies
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2018-04-07 12:53:47
On Sat, Apr 7, 2018, 12:58 Daniel James via Boost <boost_at_[hidden]>
> On 7 April 2018 at 09:58, Vicente J. Botet Escriba via Boost
> <boost_at_[hidden]> wrote:
> > Le 25/03/2018 Ã 11:18, Antony Polukhin via Boost a Ã©crit :
> >> Hello,
> >> I've noted that many libraries depend on container_hash while it
> >> depends only on a single header from Boost.Detail library
> >> https://pdimov.github.io/boostdep-report/master/module-levels.html
> >> Can we move "boost/detail/container_fwd.hpp" into Boost.Core or into
> >> Boost.ContainerHash? This will break the circular dependency, move the
> >> Boost.ContainerHash on level 4 and improve levels of Intrusive,
> >> Container, CircularBuffer, Unordered, Algorithm, Test, TypeIndex, Any,
> >> Function, Functional, ScopeExit, Signals, MultiArray, Variant.
> > Yes, please, move it to a specific Boost.ContainerHash.
> > I don't mind having more components, if we reach to manage better the
> > dependencies.
> IMO the problem is that detail depends on MPL. It really shouldn't be
> an expensive dependency, and shuffling things around is just causing
> extra complication while avoiding dealing with the real problem. Most
> uses of MPL can be replaced with more lightweight functionality. I
> think the only exception is the support for MPL lambdas which I don't
> think is necessary. I haven't checked but there's a decent chance
> they're not used at all in Boost (and since it's detail they aren't
> for public use), and I don't think the workarounds are required for
> any of the compilers in use nowadays anyway.
In that case I'd love to see both changes:
* dropping circular dependency container_hash <=> detail
* dropping dependency of detail on mpl
With both changes much more libraries improve in dependency levels.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk