Subject: Re: [boost] [review] Formal review period for VMD library begins today, Aug 21, and ends Sat, Aug 30
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-08-25 17:42:55
On 8/25/2014 4:54 PM, Matt Calabrese wrote:
> On Sat, Aug 23, 2014 at 5:21 AM, Niall Douglas <s_sourceforge_at_[hidden]>
>> 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
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk