
- What is your evaluation of the design?
Based on the docs, it appears to address a real problem, and does it in a way that results in a very natural interface when using functions that use the library. Writing such functions looks to be a bit less straight-forward, but no more so than any (less complete) alternative approach I am aware of.
- What is your evaluation of the implementation?
It is a lot better than anything I could have come up with (faint praise indeed). The bulk of the implementation is machinery to provide a useable interface - which it seems to have succeeded in doing.
- What is your evaluation of the documentation?
Pretty good. The automatic overload generation should be added to the tutorial, and a very basic example using it should be added to the tests and referenced from the tutorial.
- What is your evaluation of the potential usefulness of the library?
I wouldn't use it often, but I see its main utility, assuming it obtains widespread use, being a reduction in the variety of ways of (partially) addressing this problem. Unfortunately, there also exists the possibility that it will simply introduce one more variation into the mix. However, unless there are some significant performance issues (are there?) I wouldn't expect this to be the case.
- Did you try to use the library? With what compiler? Did you have any problems?
Yes, but I haven't updated to the pre-release or cvs boost so ran into mpl changes.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
More than a glance, but not that much more.
- Are you knowledgeable about the problem domain?
I guess so - its a pretty basic one. What I'm not sufficiently familiar with is the solution domain - I don't see any problems with the lib, but that is limited by my ability to even start to look for them.
As always, please remember to clearly state whether you believe the library should be accepted into Boost.
I vote for acceptance.