Boost logo

Boost :

Subject: [boost] VMD library version 1.7
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-07-22 03:06:09


The latest version of the VMD library, version 1.7, has been released.

The VMD library is an advanced macro preprocessor library using variadic
macros to provide the ability to parse/identify various types of
preprocessor data as well as emptiness. The library works well within
constraints that the designer of macros may impose on the end-user.

I have re-engineered the library to provide extensive functionality
beyond what had been there before. In particular the library can
parse/identify pp-identifiers, Boost PP numbers, Boost PP arrays, Boost
PP lists, Boost PP seqs, Boost PP tuples, and empty data. The library is
also capable of parsing a sequence of such preprocessor type above as a
single paarameter. It also adds better variadic support for Boost PP
ASSERTs as well as for generating empty data and invoking identity.

The library makes it possible to design macros whose logic changes
depending on what type of preprocessor data is input, within the
constraints of the preprocessor data it can parse.

The library is on Github at
https://github.com/eldiener/variadic_macro_data.git as well as in the
Boost Library Incubator at
http://rrsd.com/blincubator.com/bi_library/vmd/?gform_post_id=908. The
library is on the Boost review queue and I am looking for a review
manager for the library.

The library is designed to be added to modular-boost beneath the libs
sub-directory and needs the 'develop' branch of Boost PP to work
properly. Once Boost 1.56 is released I will be merging the 'develop'
branch of Boost PP into the 'master' branch and VMD will then work with
the latest Boost in 'master'.

Instructions for using the library, regenerating documentation, and
running the test are in the top-level *.txt files. The library works
with gcc 3.3 on up, all versions of clang, and VC++ 8 on up. It should
also work with the latest version(s) of Intel C++.

I realize that preprocessor metaprogramming is not as interesting as
template metaprogramming but if you are at all interested in what the
preprocessor can do using varaiadic macros, please take a look at the
VMD library.

Questions, comments, and whatever other remarks are welcome both here in
this mailing list and/or a the Boost Library Incubator sight. if you
would be willing to serve as a Review Manager for the library feel free
to contact me personally.

I realize nearly everyone is busy with the 1.56 release but if you are
interested and eventually have time to look at the VMD and critique it,
it would be greatly appreciated by me.

Thank you !

Edward Diener


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk