
What can I learn from your criticism? What is it based on other than the fact that you don't like macros? By what standard shall we decide that use is "overuse?"
I'm not shur that you can learn much from that criticism. Other than that I like to examine the libraries source code to help me learn about how it works. If the library is full of macros, or complicated templates for that matter, I often will just give up, and rely soley on the documentation.
Well, let's be clear. We've been "warm" in the sense that we're willing to use macros when they are the best solution to a problem.
I'm shur thats the case.
One could say that for any programming paradigm that isn't "in the mainstream," which is an entirely relative judgement. Certainly Boost's "dependence on and overuse of templates" is often cited by those unfamiliar with certain programming styles as presenting exactly the same danger. At Oracle, they use C and ban C++ for the same reasons.
Good points. Boost should or could be considered a centralized repository where promising experimental libraries can get additional scrutiny for evenutal standarization.
Well, please study it in depth before leveling such a charge publicly based on your suspicions.
I qualified my statement by saying that I "suspected" that it was the case, not that it necessarily was a factual statment.
The macro generates all the boilerplate of forwarding functions, handles the "forwarding problem" for the user, evaluates defaults in exactly the lazy way one would like without requiring lambdas or other function objects, avoids exposing ArgumentPacks, ...
I think that those are pretty creative uses of internal macros and I have no problems with those uses. I just hope that I'm never tasked with their maintenance.