Subject: Re: [boost] [modularization] Modularizing Boost (modularization)
From: Stephen Kelly (steveire_at_[hidden])
Date: 2013-10-25 04:06:22
On 10/25/2013 09:41 AM, Ahmed Charles wrote:
>> The main reason I moved it out in my analysis was because the exception
>> library also has other dependencies. Of course, another option would be
>> to split it into two libraries to isolate those dependencies. Looking at
>> the dependencies again now, even that may be unnecessary depending on
>> what happens with the detail and utility repos.
> I don't have the time to look right now, but I'd be curious why the exception library would have lots of dependencies and if it does, it would probably make sense to have it split into two, containing the basic functionality that every library needs and the advanced functionality that requires additional dependencies. For example, if you suggested a library called exception_core which contained the two headers above and everything using those exclusively depended on that library, I'd think it was perfect, because the files are logically placed and the dependency graph would be reduced to a usable state.
That could be an option.
I initially wanted to move those files out of the exception library
because exception brings the dependency on smart_ptr and tuple into the
'inner mesh' of (detail, utility,type_traits, smart_ptr, mpl, typeof)
which I mentioned in my initial mail. Adding tuple to that might not
matter as it brings in nothing not already in the mesh (just like
smart_ptr as it turns out), if detail and utility can be arranged to not
depend on stuff outside of the inner mesh.
That's what I meant when I wrote 'Looking at the dependencies again now,
even that may be unnecessary depending on what happens with the detail
and utility repos.'.
At least, I think discussion, moving or splitting of those exception
files can be deferred or should be part of a 'boost core library'
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk