Boost logo

Boost :

Subject: Re: [boost] Reducing dependencies
From: Daniel James (dnljms_at_[hidden])
Date: 2018-04-07 09:58:28


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.


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