Subject: [boost] [modularization] Recommendations
From: Stephen Kelly (hello_at_[hidden])
Date: 2014-06-08 06:21:44
My last set of recommendations is here:
The current graph of strongly connected modules is:
form a closed cylce. I consider this a small problem and I recommend
deferring efforts to resolve it for now and focusing on the other edges
which impact the rest of the graph. It may not be realistic to resolve every
cycle or doing so may involve merging modules etc. I recommend deferring
that discussion/work until after the major cycle-forming-edges are resolved.
Group the above in the graph as a single node for now, removing many cycles:
Recommendation 1) Move parenthesized_type.hpp from parameter to core
This removes the dependency from concept_check on parameter.
Recommendation 2) Move implicit_cast.hpp and cast.hpp from conversion to
This also requires moving select_type.hpp from detail to core.
This allows removal of the dependencies from iterator and range to
conversion. As a side effect, it leaves lexical_cast as the only remaining
public header in the conversion library. You can decide what impact that has
for the recent 'Extracting lexical_cast from conversion' discussion.
This requires removing the include of numeric/conversion/cast.hpp from
cast.hpp. The content of that was moved to the numeric library in 2005 and
the include was left behind for source compatibility.
The result of the above recommendations is:
Recommendation 3) Remove use of algorithm from range
for no known purpose. According to
git log -S BOOST_STRING_TYPENAME
that define was never used in the range library. According to the history of
it never really had anything else useful. It might have made sense to
include it for the Borland portability with the BOOST_STRING_TYPENAME, but
that define was never used in range.
Simply remove the use of the
The resulting strongly connected graph is
There are more recommendations which can be made to reduce the strongly
connected graph further, but I think the above are enough for now, so let's
see if we can get through those first.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk