On 6/22/15 6:06 AM, Peter Dimov wrote:
Joel de Guzman wrote:
Let me clarify, if that is too terse. I am *not* against using a TMP library. It's just that my preference now is for simpler libraries; as simple as possible, but still providing most (95+%) of the functionalities. That's what we are aiming for with X3. Less is more, simpler is better. Most of TMP usage can be distilled in a single header file (again referring to Eric's and Peter's works).
Truth be told, I'm not a big fan of single header libraries. A single header does have its benefits, but on the other hand, every change causes a recompilation of everything using anything from the library. Whereas if the library is split into headers per each component, client code using mp_this is not affected when mp_that.hpp changes. So I wouldn't hold the number of headers in itself against Louis. Fine-grained is not without its uses.
Understood. I too did not like single headers, and I know exactly what you mean. I've split all headers to be as fine grained as possible. I've come to realize, however, that in some cases, this is good! There are cases where, in most uses, you will certainly need all the core functionality anyway that it makes sense to just group them all together. I'm totally fine with a few header files with another forwarding header that groups the core --same thing. What's essential is keeping the core to a minimum. Regards, -- Joel de Guzman http://www.ciere.com http://boost-spirit.com http://www.cycfi.com/