Neil Groves wrote:
I'm happy to solve the Boost.Range dependencies. I suspect this is far simpler than for Boost.Serialization. I think code simply needs to move to other libraries. For example the Range Adapter for regexp could move to Boost.RegExp if it is reasonable for it to depend on Boost.Range.
The most straightforward way to proceed with Boost.Range is to split (approximately) everything in boost/range.hpp into a range_core module. I don't remember Range's history very clearly, but I suspect that this is what Range originally was, before acquiring the additional bells and whistles. Range's reverse dependencies: http://www.pdimov.com/tmp/report-develop-c3bb6eb/range.html#reverse-dependen... show that most libraries only depend on this 'core' part. Isolating it precisely would take some additional work though, as f.ex. as_literal.hpp is not included in boost/range.hpp, but does seem part of the core.