
On 4/3/2011 3:47 PM, Mathias Gaunard wrote:
On 03/04/2011 20:56, Edward Diener wrote:
I am aware of a problem with VC++ and variadic macros and already addressed it in my VMD library by finding an effective workaround. The same technique to workaround the VC++ problem is in Boost PP with my work to add variadic macro support for it. If you still find a specific proble with VMD and VC++, please report it to me. The same goes for the work I am doing now to bring variadic macros to Boost PP.
I would be very interested in knowing what your workaround is for the token pasting problem of MSVC, which prevents things like the popular PP_NARG[1] macro from working.
I am aware of that problem and it is the one I solved. In my VMD library look at the vmd_detail.hpp header file and the versions of VMD_DETAIL_DATA_SIZE(...) and VMD_DETAIL_DATA_ELEM(n,...) for BOOST_MSVC. Exactly why my workaround solves the problem for VC++ I do not know ( or really care given that the VC++ preprocessor is hardly standard conforming ) but it does for the functionality desired.
[1] http://groups.google.com/group/comp.std.c/msg/12dd93fe6cb5f5e5
I also credit Laurent Deniau in my acknowledgments.