Subject: Re: [boost] Removing old config macro and increasing compiler requirements.
From: Stephen Kelly (steveire_at_[hidden])
Date: 2013-08-04 06:40:12
On 08/04/2013 12:26 PM, Daniel James wrote:
> Sorry, I confused dependents and dependencies there. The maintainer of
> Any can choose its dependencies. Btw. how did you get 35 for boost::any?
Sure. boost::any depends on boost::config and boost::type_traits. The
maintainer of boost::any does not get to choose the dependencies of
those. The boost::type_traits library depends on boost::mpl and
boost::preprocessor, etc, and the mesh is formed.
Breaking the dependency of boost::config on boost::core (as my patches
do) is significant for boost::any, because boost::any then depends only
on boost::type_traits for remove_reference and is_reference, and on
boost::static_assert. However, the static_assert and is_reference are
only needed inside an ifdef for a compiler which my patch already
removes support for (BOOST_MSVC,<=1300).
That leaves only remove_reference. One could imagine splitting
type_traits into two libraries so that the simple, common and essential
traits like remove_reference live in a library which does not depend on
boost::mpl or boost::preprocessor.
However, looking properly into all of that is the 'next step', and I
don't want to take multiple steps forward before even completing the
first step with the patches I've already posted. I want to get the first
step completed both to establish some credibility for me in the boost
community, and to establish some credibility for the boost community in
me - I need to believe that 'real modularization' can proceed with
reasonable effort before investing lots of my time in it :).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk