$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] New dependency report
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2014-06-05 12:49:05
Le 05/06/14 03:31, Peter Dimov a écrit :
> I've taken care of the
>
> mpl -> detail
> detail -> iterator
> utility -> iterator
>
> critical dependencies, which improved things a bit. The new report is at
>
> http://www.pdimov.com/tmp/report-6d1f271/module-overview.html
> http://www.pdimov.com/tmp/report-6d1f271/module-levels.html
>
> It includes reverse dependencies for each module and has been
> generated from the develop branch of the super-project.
>
>
Hi Peter,
from my point of view there is something wrong on the levels report.
mpl and type_traits cannot be on level 3 as they depend mutually (on
libraries on level 3).
typeof and utility can not be either as it depends on mpl and type_traits.
The definition of level must be strict otherwise we introduce cycles.
Level 3
* bind <http://www.pdimov.com/tmp/report-6d1f271/bind.html>
? config core static_assert
* logic <http://www.pdimov.com/tmp/report-6d1f271/logic.html>
? config core
* mpl <http://www.pdimov.com/tmp/report-6d1f271/mpl.html>
? config core predef preprocessor static_assert type_traits utility
* system <http://www.pdimov.com/tmp/report-6d1f271/system.html>
? assert config core predef
* type_traits <http://www.pdimov.com/tmp/report-6d1f271/type_traits.html>
? config core mpl preprocessor static_assert typeof utility
* typeof <http://www.pdimov.com/tmp/report-6d1f271/typeof.html>
? config core mpl preprocessor type_traits
* utility <http://www.pdimov.com/tmp/report-6d1f271/utility.html>
? config core mpl preprocessor static_assert throw_exception type_traits
*
If we create as I suggested a module that contains mpl + type_traits, as
I suggested, we could have this module at level 3 and the others typeof
and utility at level 4.
This could be temporary, the time we reach to manage with the
mpl<->type_traits dependency cycle.
You proposition of making a type_traits -> mpl -> core_type_traits would
break the cycle but this would take some time.
I think that doing this kind of things could be useful to see clearer,
where do we have cycles that must be resolved in some way.
Best,
Vicente