
Le 18/10/13 09:58, Stephen Kelly a écrit :
On 10/18/2013 07:39 AM, Vicente J. Botet Escriba wrote:
Le 18/10/13 00:24, Stephen Kelly a écrit :
Hi there,
my plan for modularizing and modernizing Boost was roughly this:
There are now 18 edges and 11 nodes.
Looking at the entire graph again, we get this:
http://steveire.com/boost/graph_final.dot http://steveire.com/boost/graph_final_small.png
Obviously, this is not perfect, but it is a beginning, and it is mostly now a directed graph.
Thanks for working on this. Thanks for the appreciation.
The dependency between thread and interprocess can be broken if we extract unique_ptr from interprocess and move it to smart_ptr. unique_ptr.hpp includes several other interprocess lib headers. Those would have to be either moved or resolved too. Right. The file must follow a cleanup before.
The dependency of thread to chrono/date_time could be broken after the work started by Andrey in the sync directory. But I suspect that this will not be ready for the next release.
The new parts will be * sync: contains basic synchronization tools, as mutexes, condition_variables, locks, * system_chrono : contains something similar to Boost::Chrono but restricted to nanoseconds (less meta-programming needed) Would these be two new git repos/packages? Currently we have a folder sync. We have not yet extracted from it system_chrono or system_time.
The new dependencies will be
* chrono -> system_chrono * date_time -> system_chrono * sync -> system_chrono * thread -> system_chrono And what will system_chrono depend on? The two files of this mini repository will be
boost/sync/detail/time_traits.hpp boost/sync/detail/time_units.hpp Them depend on config, mpl or type_traits and enable_if.
and later on * thread -> sync ?
Note system_chrono doesn't exists yet (it is included in sync) and could also be moved to detail. Do someone know which parts of Boost.Thread are used by Boost.Spirit and Boost.Pool? Knowing this would help us to see if these libraries could depend on the new sync repository. Why don't you check things like this yourself, instead of asking on a mailing list and introducing a human round trip? This isn't the first time you've asked things like this.
If you don't want to replay to my questions just ignore them. No need to add more not useful text to this thread. I guess that the authors would have a good understanding of their libraries and could answer this question easily. And on the other side, the answer is not urgent as the sync folder is not public yet.
I'm really curious why you try to introduce a human round trip rather than run a simple 'git grep' or whatever equivalent tools that you presumably have at your disposal.
I will add it to the bottom of my TODO list.
BTW, I don't see Boost.Atomic in the picture. What picture? Boost.Atomic appears in the graph_all.dot.
I was loocking to the final picturehttp://steveire.com/boost/graph_after_remaining.png Looking at graph_all.dot I see atomic -> mpl atomic -> detail atomic -> type_traits atomic -> smart_ptr atomic -> integer atomic -> config I don't see the dependency to Boost.thread, but Boost.Atomic depends on Boost.Thread in some specific platforms. Best, Vicente