On 8/25/2014 4:54 PM, Matt Calabrese wrote:
On Sat, Aug 23, 2014 at 5:21 AM, Niall Douglas
wrote: Again, if anyone can chime in with an example real world use of Edward's VMD library I would feel much happier. I need some example code to look at.
My [not a boost lib] Boost.Generic library that I presented at BoostCon a few years ago depends on VMD, though I haven't updated for a while so I don't know how VMD has changed (I'll try to review current VMD tonight).
I have added quite a bit of new functionality since the initial versions of VMD. I may have broken some of your Boost.Generic library code through name changes but all of the previous functionality is still there, even if under a different name. If you have any questions about the changes, just ask.
VMD is very useful particularly for any DSELs that are implemented with the preprocessor rather than through expression templates. This includes libraries like mine as well as Lorenzo's Boost.Contract library. Prior to VMD, I was hand-rolling a lot of the same macros that it has, but once VMD was about I was able to swap out the macros, which freed me from having to worry about maintaining the macros and dealing with non-compliant preprocessors. Specifically, VMD is a library for library developers in much the same way that MPL is a library primarily for library developers. This still has an important place in Boost in my opion and neither C++14 nor likely C++1z will change that.
Anyway, I will say that my previous experience with VMD has been very positive.
Thanks ! I intitially created VMD to promote variadic macros before I worked with Paul to add variadic macro support to Boost PP. But the version of VMD under review has been greatly enhanced when I realized other types of things variadic macros would allow me to do, particularly that I could determine actual preprocessor "data types" and values within a well-defined ( constrained ) situation. If you do look at and try VMD, be sure to have the 'develop' branch of Boost PP. Soon I will merge the 'develop' branch of Boost PP to it 'master' branch, but I wanted to wait until the review is finished.