In the end, all truly useful libraries are hierarchial, not flat.
Some library components share needs.
For example, variants, tuples, optionals and strings are useful almost
everywhere.
Hierarchial libraries encourage re-use of lower level components.
If you make boost truly flat, it means requiring an implementation of (say
) string in every component.
That's daft.
Flattening boost is the wrong direction.
Example: beast is built on Asio , which is built on system. Two truly
brilliant components, which would be much less useful if built in isolation.
On Fri, 10 May 2019, 15:12 Peter Dimov via Boost,
Rene Rivera wrote:
Must be that we talk to different users. The interactions I get are more commonly "I want to use Boost Beast", "Does Boost have X?" (implication being that's all they want), and of course the eternal "I can't use Boost, it's too big.".
These are nothing compared to the interactions we'll be getting if we force people to declare their header-only dependencies. This will break literally thousands of packages downstream. For better or worse, today, after `apt install libboost-dev` and/or `find_package(Boost)`, you can #include any header-only Boost library and use it, without going into specifics.
PS the other day I got the equivalent of "can't use mp11, it's too big." Something tells me that a "modular" Boost will still remain "too big".
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost