Boost logo

Boost :

Subject: Re: [boost] [modularization] spirtit -> serialization
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2014-06-14 12:28:03


Le 14/06/14 08:56, Stephen Kelly a écrit :
> Vicente J. Botet Escriba wrote:
>
>> Le 13/06/14 18:41, Stephen Kelly a écrit :
>>> I think if the intent is to remove circular dependencies, you should see
>>> if you can split the archive parts of the serialization out and make only
>>> that part depend on spirit.
>>>
>>>
>> This corresponds to the opposite dependency.
>> My first goal is to break the cycles.
> I am aware of that.
>
> That is why I wrote:
>
> > I think if the intent is to remove circular dependencies [...]
>
> Here is a graph which assumes the range->algorithm edge removal and treats
> math<->lexical_cast as an incidental module:
>
> http://www.steveire.com/boost/2014_jun_before-spirit-serialization.png
>
> And after removing the serialization->spirit edge:
>
> http://www.steveire.com/boost/2014_jun_after-spirit-serialization.png
>
>
The local_function <-> scoped_exit cycle will be taken in account by
Lorenzo.

I don't think the serialization -> spirit dependency must be removed
forcedly. As I said in another post the opposite seems unuseful as the
file is not used.

We can manage with the graph cycle by extracting the following submodules

bimap.property_map -> bimap property_map
property_map.parallel ->property_map mpi

and grouping graph and disjoint_set.

In the same way extracting the serialization part from date_time to a
submodule helps to break the date_time. I would say that we should do
the the same for each module that depends on serialization, create a
submodule

module.serialization -> module serialization

The dependencies to tr1 should be removed and replaced by the underlying
Boost libraries.

Another dependency that can be broken is chrono -> interprocess buy
adding a chrono.io submodule.

I'll create the chrono.io submodule myself.

Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk