On 10/18/2013 02:19 PM, Beman Dawes wrote:
On Thu, Oct 17, 2013 at 6:24 PM, Stephen Kelly
wrote: Hi there,
my plan for modularizing and modernizing Boost was roughly this:
* Phase 0 - remove dead weight by bumping compiler feature requirements * Phase 1 - move some files around so that the modularized repos form a mostly directed graph * Phase 2 - Form some kind of 'boost core library' or 'boost feature normalization library' from the guts of existing libraries like type_traits, static_assert, config mpl and utilities. * Phase 3 - Try to port the mpl to variadic templates so that the dependency on Boost.PP is not needed when variadic templates are available.
Herb Sutter has pointed out that approximately 15 months from now all widely used compilers and their libraries will be C++11/14 compliant, modulo residual bugs.
Widely used is irrelevant on this list. See the responses to threads I've started.
At that point C++11/14 boost (2.x?) becomes a viable option.
I'm looking forward to seeing you try to get buy-in for that :).
C++11/14 boost would have a markedly different dependency graph, since libraries would only use the boost versions of other libraries if they needed some extension not present in the standard library version.
That's part of my thinking too. Eg, mpl would not depend on Boost.PP if used by a C++11 compiler if my phase 3 is completed. That is the kind of thing we can encode into the cmake package files.
It might be helpful to start figuring out how we can do the transition to a C++11 (and then 14) world.
I agree. I think that's phase 3+ though, and I recommend doing the other phases first. Thanks, Steve.