Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65837 - in sandbox/variadic_macro_data/boost/variadic_macro_data: . detail
From: eldiener_at_[hidden]
Date: 2010-10-08 13:47:10


Author: eldiener
Date: 2010-10-08 13:47:04 EDT (Fri, 08 Oct 2010)
New Revision: 65837
URL: http://svn.boost.org/trac/boost/changeset/65837

Log:
Changes
Text files modified:
   sandbox/variadic_macro_data/boost/variadic_macro_data/VariadicMacroData.hpp | 3 ++-
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/VMDDetail.hpp | 8 ++++++++
   2 files changed, 10 insertions(+), 1 deletions(-)

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/VariadicMacroData.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/VariadicMacroData.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/VariadicMacroData.hpp 2010-10-08 13:47:04 EDT (Fri, 08 Oct 2010)
@@ -40,7 +40,8 @@
 
     n = number of the variadic macro data argument.
           The number starts from 0 to the number of
- variadic macro data arguments - 1.
+ variadic macro data arguments - 1. The maximum
+ number for n is 63.
           
     ... = variadic macro data.
 

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/VMDDetail.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/VMDDetail.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/VMDDetail.hpp 2010-10-08 13:47:04 EDT (Fri, 08 Oct 2010)
@@ -12,6 +12,8 @@
 #include <boost/preprocessor/tuple/rem.hpp>
 #if defined(BOOST_MSVC)
 #include <boost/preprocessor/arithmetic/add.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/facilities/empty.hpp>
 #endif
 
 #define VMD_DETAIL_DATA_ELEM_0(p0, ...) p0
@@ -126,9 +128,15 @@
 /**/
 #define VMD_DETAIL_CAT(a, ...) VMD_DETAIL_PRIMITIVE_CAT(a, __VA_ARGS__)
 #define VMD_DETAIL_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
+#if defined(BOOST_MSVC)
+#define VMD_DETAIL_DATA_ELEM(n,...) \
+ BOOST_PP_CAT(VMD_DETAIL_CAT(VMD_DETAIL_DATA_ELEM_, n)(__VA_ARGS__,),BOOST_PP_EMPTY()) \
+/**/
+#else
 #define VMD_DETAIL_DATA_ELEM(n,...) \
   VMD_DETAIL_CAT(VMD_DETAIL_DATA_ELEM_, n)(__VA_ARGS__,) \
 /**/
+#endif
 #define VMD_DETAIL_DATA_TO_PP_ARRAY(...) \
   ( VMD_DETAIL_DATA_SIZE(__VA_ARGS__) , VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk