Version 4 (modified by 8 years ago) ( diff ) | ,
---|
See Modules level for the last state of dependencies between libraries.
This report has been generated with boostdep.
Cycles
Next follows a list of dependencies to be removed in order to break the cycles.
MPL -> Utility -> MPL
<boost/utility/value_init.hpp>
from <boost/mpl/for_each.hpp>
<boost/mpl/bool.hpp>
from <boost/utility/result_of.hpp>
<boost/mpl/eval_if.hpp>
from <boost/utility/result_of.hpp>
<boost/mpl/has_xxx.hpp>
from <boost/utility/result_of.hpp>
<boost/mpl/identity.hpp>
from <boost/utility/result_of.hpp>
<boost/mpl/if.hpp>
from <boost/utility/result_of.hpp>
<boost/mpl/or.hpp>
from <boost/utility/result_of.hpp>
MPL -> TypeTraits -> MPL
TypeTraits -> Typeof
<boost/typeof/typeof.hpp>
from <boost/type_traits/common_type.hpp>
Create the submodule TypeTraits.CommonType
TypeTraits.CommonType -> TypeTraits Typeof
Range -> Algorithm
<boost/algorithm/string/config.hpp>
from <boost/range/detail/collection_traits.hpp> from <boost/range/detail/collection_traits_detail.hpp>
<boost/algorithm/string/yes_no_type.hpp>
from <boost/range/detail/collection_traits_detail.hpp>
The dependency can be removed by moving boost/algorithm/string/config.hpp to Config and boost/algorithm/string/yes_no_type.hpp to TypeTraits
Algorithm -> TR1
<boost/tr1/tr1/unordered_map>
from <boost/algorithm/searching/detail/bm_traits.hpp>
The dependency can be broken by making use of Boost.Unordered.
LexicalCast -> Math
<boost/math/special_functions/fpclassify.hpp>
from <boost/lexical_cast.hpp>
<boost/math/special_functions/sign.hpp>
from <boost/lexical_cast.hpp>
The dependency can be removed by moving boost/math/special_functions/fpclassify.hpp to Config and boost/math/special_functions/sign.hpp to Core
Math -> TR1
<boost/tr1/detail/config.hpp>
from <boost/math/tools/tuple.hpp>
<boost/tr1/tuple.hpp>
from <boost/math/tools/tuple.hpp>
The dependency can be broken by making use of Boost.Tuple.
DateTime->Serialization
Create the submodule DateTime.Serialization
DateTime.Serialization -> DateTime Serialization
Spirit->Serialization
remove the unused file.
Bimap->PropertyMap
Create the submodule Bimap.PropertyMap
Bimap.PropertyMap -> Bimap PropertyMap
PropertyMap->MPI
Create the submodule PropertyMap.Parallel
PropertyMap.Parallel -> PropertyMap MPI
Grapth->DisjoinSet->Grapth
Move DisjoinSet to Graph.
Grapth->GraphParallel
<boost/graph/distributed/breadth_first_search.hpp>
from <boost/graph/breadth_first_search.hpp>
<boost/graph/distributed/concepts.hpp>
from <boost/graph/breadth_first_search.hpp>
<boost/graph/distributed/connected_components.hpp>
from <boost/graph/connected_components.hpp>
<boost/graph/distributed/depth_first_search.hpp>
from <boost/graph/depth_first_search.hpp>
<boost/graph/distributed/dijkstra_shortest_paths.hpp>
from <boost/graph/dijkstra_shortest_paths.hpp>
<boost/graph/distributed/fruchterman_reingold.hpp>
from <boost/graph/fruchterman_reingold.hpp>
<boost/graph/distributed/graphviz.hpp>
from <boost/graph/graphviz.hpp>
<boost/graph/distributed/one_bit_color_map.hpp>
from <boost/graph/one_bit_color_map.hpp>
<boost/graph/distributed/page_rank.hpp>
from <boost/graph/page_rank.hpp>
<boost/graph/distributed/rmat_graph_generator.hpp>
from <boost/graph/rmat_graph_generator.hpp>
<boost/graph/distributed/strong_components.hpp>
from <boost/graph/strong_components.hpp>
<boost/graph/distributed/two_bit_color_map.hpp>
from <boost/graph/two_bit_color_map.hpp>
<boost/pending/property_serialize.hpp>
from <boost/graph/adj_list_serialize.hpp>
Remove all the graph distributed specializations declarations in Graph as e.g.
#ifdef BOOST_GRAPH_USE_MPI template <class DistributedGraph, class ColorMap, class BFSVisitor, class P, class T, class R> void bfs_helper (DistributedGraph& g, typename graph_traits<DistributedGraph>::vertex_descriptor s, ColorMap color, BFSVisitor vis, const bgl_named_params<P, T, R>& params, boost::mpl::true_); #endif // BOOST_GRAPH_USE_MPI
The definition of these specializations are already in GraphParallel.
Other dependencies
Other dependencies that could reduce the dependencies graph
Serialization->Spirit
Split the Serialization Module on two modules Serialization and Archive
Chrono->Interporocess
Create the submodule Chrono.IO
Chrono.IO -> Chrono Interprocess
Thread->Interporocess
<boost/interprocess/smart_ptr/unique_ptr.hpp>
from <boost/thread/csbl/memory/unique_ptr.hpp>
Move boost/interprocess/smart_ptr/unique_ptr.hpp to SmartPtr.