charleyb123 .
[...]
* Documentation
Very good, although volatile because:
(1) High demand on latest C++ language features (compiler support is evolving)
(2) New usage patterns are likely to evolve (due to the nature of what the library provides)
This is definitely true. Since this is a new paradigm, I'll have to update the documentation to reflect on the best way to use the library as we discover them. I'm sure there are a lot of things we can do with it that we don't know about yet. I'm also sure there are some ways in which the library should not be used, and we'll also discover them. The documentation will have to be kept up to date.
* Tests
Header-only library, and compile-time tests are great. More are always good. Perhaps excessively expensive compiler-time tests could be added-or-removed with an #ifdef...#endif.
There's a target named `tests.quick` (which is still not that quick). It only runs the most important and least time-consuming tests. It's also a good idea to run `make examples -j4` before even trying to run the tests, since obvious failures are likely to pop up when compiling just the examples, which are much faster.
* Usefulness
Very useful, as a unifying library solving problems previously addressed through multiple libraries and similar-but-not-the-same APIs and usage patterns.
Unifying metaprogramming for both types and values is quite novel, and will likely lead to new use patterns not-yet appreciated. IMHO, this is likely the most important reason for addition to Boost. The second reason would be its elegance in using new C++14 patterns and conventions (as TMP has evolved).
- Did you attempt to use the library? If so: * Which compiler(s) * What was the experience? Any problems? - How much effort did you put into your evaluation of the review?
Extensive study of the documentation, and attended or watched all talks on this library over the past couple years. Some light application-use of the library (specific to the examples in the documentation).
I am planning to experiment with specific library use cases, but am hampered by spotty compiler support for C++14 language features.
Thanks a lot for your review, Charley. I'd also like to thank you for your comments and all the discussions we've had at C++Now, which contributed to making the library what it is. Regards, Louis