Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r73605 - in sandbox/variadic_macro_data: boost/variadic_macro_data boost/variadic_macro_data/detail libs/variadic_macro_data/test
From: eldiener_at_[hidden]
Date: 2011-08-07 20:50:39


Author: eldiener
Date: 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
New Revision: 73605
URL: http://svn.boost.org/trac/boost/changeset/73605

Log:
Added assert_is_seq and tests.
Added:
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_common.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_native.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_pplib.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_native.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin_common.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq_common.hpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail2.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail3.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail4.cpp (contents, props changed)
Text files modified:
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_common.hpp | 2 +
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_native.hpp | 27 +++++++++++++++++-
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_pplib.hpp | 27 +++++++++++++++++-
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp | 2
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_tuple_common.hpp | 2 +
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_common.hpp | 3 --
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_data_native.hpp | 33 +++++++++++++++++++++++
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp | 2 +
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_common.hpp | 4 ++
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_pplib.hpp | 9 +-----
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_tuple_native.hpp | 22 +++++++++++++++
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp | 1
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_Is_empty_pplib.hpp | 14 ++++-----
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_tuple_common.hpp | 4 +-
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_empty_native.hpp | 18 +++++-------
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_native.hpp | 11 +++----
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_pplib.hpp | 11 +++----
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_tuple_native.hpp | 56 ++++++++++++++++++++++++++++++++++++++++
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 | 30 +++++++++++++++++++++
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail2.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail3.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail4.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail2.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail3.cpp | 2
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail4.cpp | 2
   31 files changed, 242 insertions(+), 60 deletions(-)

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -34,6 +34,8 @@
     typedef char BOOST_VMD_IS_ARRAY_ASSERT_ERROR[-1]; \
 /**/
 
+#define VMD_DETAIL_ASSERT_IS_ARRAY_GEN_ZERO(x) 0
+
 #endif /* BOOST_VMD_MSVC */
 
 #define VMD_DETAIL_ASSERT_IS_ARRAY_NUM(x) BOOST_VMD_IS_EMPTY(BOOST_PP_CAT(VMD_DETAIL_ASSERT_IS_ARRAY_NUM_HELPER_, x))

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,8 +11,13 @@
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/variadic_macro_data/vmd_tuple.hpp>
 #include <boost/variadic_macro_data/vmd_assert_is_tuple.hpp>
+
+#if !BOOST_VMD_MSVC
+
 #include <boost/variadic_macro_data/detail/vmd_detail.hpp>
 
+#endif
+
 #if BOOST_VMD_MSVC
 
 #define VMD_DETAIL_ASSERT_IS_ARRAY_VC_IMP(x) \
@@ -21,13 +26,29 @@
       ( \
       BOOST_PP_EQUAL(2,BOOST_VMD_PP_TUPLE_SIZE(x)), \
       VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_ARRAY_FORM, \
- VMD_DETAIL_GEN_ZERO \
+ VMD_DETAIL_ASSERT_IS_ARRAY_GEN_ZERO \
       ) \
     (x) \
     ) \
 /**/
 
-#endif /* BOOST_VMD_MSVC */
+/*
+
+ Check if the first element of the tuple is numeric
+
+*/
+
+#define VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_ARRAY_FORM(x) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_ARRAY_NUM(BOOST_VMD_PP_TUPLE_ELEM(0,x)), \
+ VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_NUMERIC_MATCH, \
+ VMD_DETAIL_ASSERT_IS_ARRAY_GEN_ZERO \
+ ) \
+ (x) \
+/**/
+
+#else
 
 /*
 
@@ -45,6 +66,8 @@
     (x) \
 /**/
 
+#endif /* BOOST_VMD_MSVC */
+
 /*
 
   Finally check if the first element of the tuple is equal to the number of tuple elements of the second element

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_pplib.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_pplib.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_array_pplib.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -12,8 +12,13 @@
 #include <boost/preprocessor/tuple/size.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/variadic_macro_data/vmd_assert_is_tuple.hpp>
+
+#if !BOOST_VMD_MSVC
+
 #include <boost/variadic_macro_data/detail/vmd_detail.hpp>
 
+#endif
+
 #if BOOST_VMD_MSVC
 
 #define VMD_DETAIL_ASSERT_IS_ARRAY_VC_IMP(x) \
@@ -22,13 +27,29 @@
       ( \
       BOOST_PP_EQUAL(2,BOOST_PP_TUPLE_SIZE(x)), \
       VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_ARRAY_FORM, \
- VMD_DETAIL_GEN_ZERO \
+ VMD_DETAIL_ASSERT_IS_ARRAY_GEN_ZERO \
       ) \
     (x) \
     ) \
 /**/
 
-#endif /* BOOST_VMD_MSVC */
+/*
+
+ Check if the first element of the tuple is numeric
+
+*/
+
+#define VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_ARRAY_FORM(x) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_ARRAY_NUM(BOOST_PP_TUPLE_ELEM(0,x)), \
+ VMD_DETAIL_ASSERT_IS_ARRAY_CHECK_NUMERIC_MATCH, \
+ VMD_DETAIL_ASSERT_IS_ARRAY_GEN_ZERO \
+ ) \
+ (x) \
+/**/
+
+#else
 
 /*
 
@@ -46,6 +67,8 @@
     (x) \
 /**/
 
+#endif /* BOOST_VMD_MSVC */
+
 /*
 
   Finally check if the first element of the tuple is equal to the number of tuple elements of the second element

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -133,4 +133,4 @@
 
 #endif /* BOOST_VMD_ASSERT_DATA */
 #endif /* BOOST_VMD_VARIADICS */
-#endif /* VMD_DETAIL_ASSERT_ASSERT_IS_LIST_COMMON_HPP */
+#endif /* VMD_DETAIL_ASSERT_IS_LIST_COMMON_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,17 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_SEQ_HPP)
+#define VMD_DETAIL_ASSERT_IS_SEQ_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_PPLIB
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_pplib.hpp>
+#else
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_native.hpp>
+#endif /* BOOST_VMD_PPLIB */
+
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_common.hpp>
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_ASSERT_IS_SEQ_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_common.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,220 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_SEQ_COMMON_HPP)
+#define VMD_DETAIL_ASSERT_IS_SEQ_COMMON_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_ASSERT_DATA
+
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/control/iif.hpp>
+#include <boost/preprocessor/debug/assert.hpp>
+#include <boost/preprocessor/facilities/expand.hpp>
+#include <boost/preprocessor/logical/not.hpp>
+#include <boost/variadic_macro_data/vmd_is_empty.hpp>
+#include <boost/variadic_macro_data/vmd_is_tuple_begin.hpp>
+
+#if BOOST_VMD_MSVC
+
+#include <boost/preprocessor/facilities/empty.hpp>
+
+#endif
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_PRED(d,state) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_TUPLE_BEGIN(state), \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ONE, \
+ VMD_DETAIL_ASSERT_IS_SEQ_PRED_CHECK_SUCCESS \
+ ) \
+ (state) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_PRED_CHECK_SUCCESS(state) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_SUCCESS(state), \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ZERO, \
+ VMD_DETAIL_ASSERT_IS_SEQ_PRED_CHECK_FAILURE \
+ ) \
+ (state) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_PRED_CHECK_FAILURE(state) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_FAILURE(state), \
+ 0, \
+ 1 \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_OP(d,state) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_TUPLE_BEGIN(state), \
+ VMD_DETAIL_ASSERT_IS_SEQ_CHECK_FIRST_TUPLE_SIZE, \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_RETURN_ASSERT \
+ ) \
+ (state) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_CHECK_FIRST_TUPLE_SIZE(state) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE(state), \
+ VMD_DETAIL_ASSERT_IS_SEQ_CHECK_AFTER_FIRST_TUPLE, \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_FAILURE \
+ ) \
+ (state) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_CHECK_AFTER_FIRST_TUPLE(state) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_AFTER_FIRST_TUPLE(state), \
+ VMD_DETAIL_ASSERT_IS_SEQ_GET_AFTER_FIRST_TUPLE, \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE \
+ ) \
+ (state) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE(x) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_GET_AFTER_FIRST_TUPLE(x) \
+ ), \
+ VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_EMPTY, \
+ VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_FULL \
+ ) \
+ (x) \
+/**/
+
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_EMPTY(x) \
+ BOOST_PP_EXPAND(VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE x) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_GET_AFTER_FIRST_TUPLE(x) \
+ BOOST_PP_EXPAND(VMD_DETAIL_ASSERT_IS_SEQ_EMPTY x) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE_GET \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_EMPTY x \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_IS_AFTER_FIRST_TUPLE(x) \
+ BOOST_VMD_IS_TUPLE_BEGIN \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_EMPTY x \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_CHECK_RETURN_FAILURE(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_VC_CHECK_RETURN_FAILURE \
+ ( \
+ BOOST_PP_NOT \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_FAILURE(x) \
+ ) \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_VC_CHECK_RETURN_FAILURE(x) \
+ BOOST_PP_ASSERT \
+ ( \
+ x \
+ ) \
+ BOOST_PP_IIF \
+ ( \
+ x, \
+ BOOST_PP_EMPTY, \
+ VMD_DETAIL_ASSERT_IS_SEQ_VC_GEN_ERROR_OUTPUT \
+ ) \
+ () \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_VC_GEN_ERROR_OUTPUT() \
+ typedef char BOOST_VMD_ASSERT_IS_SEQ_ERROR[-1]; \
+/**/
+
+#else
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_EMPTY(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE,x) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_GET_AFTER_FIRST_TUPLE(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_EMPTY,x) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE_GET \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_EMPTY,x) \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_IS_AFTER_FIRST_TUPLE(x) \
+ BOOST_VMD_IS_TUPLE_BEGIN \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_EMPTY,x) \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_CHECK_RETURN_FAILURE(x) \
+ BOOST_PP_ASSERT \
+ ( \
+ BOOST_PP_NOT \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_FAILURE(x) \
+ ) \
+ ) \
+/**/
+
+#endif
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_NOT_TUPLE_GET(x) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ x \
+ ), \
+ BOOST_VMD_IS_SEQ_SUCCESS, \
+ x \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_APPLY_I(macro, args) \
+ macro args \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_APPLY(macro, args) \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY_I(macro, args) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_RETURN_ASSERT(x) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_IS_SUCCESS(x), \
+ BOOST_VMD_IS_SEQ_SUCCESS, \
+ BOOST_VMD_IS_SEQ_FAILURE \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_EMPTY(...) VMD_DETAIL_ASSERT_IS_SEQ_EMPTY1(__VA_ARGS__)
+#define VMD_DETAIL_ASSERT_IS_SEQ_EMPTY1(...)
+#define VMD_DETAIL_ASSERT_IS_SEQ_IS_SUCCESS(x) \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ BOOST_PP_CAT(VMD_DETAIL_ASSERT_IS_SEQ_SHELPER_,x) \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_IS_FAILURE(x) \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ BOOST_PP_CAT(VMD_DETAIL_ASSERT_IS_SEQ_FHELPER_,x) \
+ ) \
+/**/
+#define VMD_DETAIL_ASSERT_IS_SEQ_SHELPER_BOOST_VMD_IS_SEQ_SUCCESS
+#define VMD_DETAIL_ASSERT_IS_SEQ_FHELPER_BOOST_VMD_IS_SEQ_FAILURE
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_ONE(x) 1
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_ZERO(x) 0
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_ONE_COMMA() 1,
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_ZERO_COMMA() 0,
+#define VMD_DETAIL_ASSERT_IS_SEQ_GEN_FAILURE(x) BOOST_VMD_IS_SEQ_FAILURE
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_ASSERT_IS_SEQ_COMMON_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_native.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,60 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_SEQ_NATIVE_HPP)
+#define VMD_DETAIL_ASSERT_IS_SEQ_NATIVE_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_ASSERT_DATA
+
+#include <boost/preprocessor/comparison/equal.hpp>
+#include <boost/preprocessor/control/iif.hpp>
+#include <boost/variadic_macro_data/vmd_data.hpp>
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE(...) \
+ BOOST_PP_EQUAL \
+ ( \
+ BOOST_VMD_DATA_SIZE(__VA_ARGS__), \
+ 1 \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER(...) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_PP_EQUAL \
+ ( \
+ BOOST_VMD_DATA_SIZE(__VA_ARGS__), \
+ 1 \
+ ), \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ONE_COMMA, \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ZERO_COMMA \
+ ) \
+ () \
+/**/
+
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_FULL(x) \
+ BOOST_VMD_DATA_ELEM \
+ ( \
+ 0, \
+ VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER x \
+ ) \
+/**/
+
+#else
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_FULL(x) \
+ BOOST_VMD_DATA_ELEM \
+ ( \
+ 0, \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER,x) \
+ ) \
+/**/
+
+#endif
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif // BOOST_VMD_VARIADICS
+#endif // VMD_DETAIL_ASSERT_IS_SEQ_NATIVE_HPP

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_pplib.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_seq_pplib.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,61 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_SEQ_PPLIB_HPP)
+#define VMD_DETAIL_ASSERT_IS_SEQ_PPLIB_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_ASSERT_DATA
+
+#include <boost/preprocessor/comparison/equal.hpp>
+#include <boost/preprocessor/control/iif.hpp>
+#include <boost/preprocessor/variadic/elem.hpp>
+#include <boost/preprocessor/variadic/size.hpp>
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE(...) \
+ BOOST_PP_EQUAL \
+ ( \
+ BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
+ 1 \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER(...) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_PP_EQUAL \
+ ( \
+ BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
+ 1 \
+ ), \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ONE_COMMA, \
+ VMD_DETAIL_ASSERT_IS_SEQ_GEN_ZERO_COMMA \
+ ) \
+ () \
+/**/
+
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_FULL(x) \
+ BOOST_PP_VARIADIC_ELEM \
+ ( \
+ 0, \
+ VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER x \
+ ) \
+/**/
+
+#else
+
+#define VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_FIRST_TUPLE_SIZE_FULL(x) \
+ BOOST_PP_VARIADIC_ELEM \
+ ( \
+ 0, \
+ VMD_DETAIL_ASSERT_IS_SEQ_APPLY(VMD_DETAIL_ASSERT_IS_SEQ_ASSERT_SIZE_AFTER,x) \
+ ) \
+/**/
+
+#endif /* BOOST_VMD_MSVC */
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif // BOOST_VMD_VARIADICS
+#endif // VMD_DETAIL_ASSERT_IS_SEQ_PPLIB_HPP

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_tuple_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_tuple_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_tuple_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -33,6 +33,8 @@
    typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
 /**/
 
+#define VMD_DETAIL_ASSERT_IS_TUPLE_GEN_ZERO(x) 0
+
 #endif /* BOOST_VMD_MSVC */
 
 #define VMD_DETAIL_ASSERT_IS_TUPLE_IS_NOT_AFTER(x) \

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,9 +5,6 @@
 
 #if BOOST_VMD_VARIADICS
 
-#define VMD_DETAIL_COMMON_EXPAND(...) \
- 1,1 \
-/**/
 #define VMD_DETAIL_GEN_ZERO(x) 0
 
 #endif /* BOOST_VMD_VARIADICS */

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_data_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_data_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_data_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,8 +5,17 @@
 
 #if BOOST_VMD_VARIADICS
 
+#if BOOST_VMD_MSVC
+
+#include <boost/preprocessor/tuple/to_list.hpp>
+#include <boost/preprocessor/tuple/to_seq.hpp>
+
+#else
+
 #include <boost/variadic_macro_data/detail/vmd_detail_native.hpp>
 
+#endif
+
 #if BOOST_VMD_MSVC
 #include <boost/preprocessor/facilities/empty.hpp>
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
@@ -138,12 +147,36 @@
 #define VMD_DETAIL_DATA_TO_PP_ARRAY(...) \
   ( VMD_DETAIL_DATA_SIZE(__VA_ARGS__) , VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/
+
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_DATA_PP_TUPLE_TO_LIST(size,tuple) \
+ BOOST_PP_TUPLE_TO_LIST(size,tuple) \
+/**/
+
+#define VMD_DETAIL_DATA_PP_TUPLE_TO_SEQ(size,tuple) \
+ BOOST_PP_TUPLE_TO_SEQ(size,tuple) \
+/**/
+
+#define VMD_DETAIL_DATA_TO_PP_LIST(...) \
+ VMD_DETAIL_DATA_PP_TUPLE_TO_LIST(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
+/**/
+
+#define VMD_DETAIL_DATA_TO_PP_SEQ(...) \
+ VMD_DETAIL_DATA_PP_TUPLE_TO_SEQ(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
+/**/
+
+#else
+
 #define VMD_DETAIL_DATA_TO_PP_LIST(...) \
   VMD_DETAIL_PP_TUPLE_TO_LIST(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/
+
 #define VMD_DETAIL_DATA_TO_PP_SEQ(...) \
   VMD_DETAIL_PP_TUPLE_TO_SEQ(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/
 
+#endif
+
 #endif // BOOST_VMD_VARIADICS
 #endif // VMD_DETAIL_DATA_NATIVE_HPP

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -7,6 +7,8 @@
 
 #if BOOST_VMD_PPLIB
 #include <boost/variadic_macro_data/detail/vmd_detail_is_empty_pplib.hpp>
+#else
+#include <boost/variadic_macro_data/detail/vmd_detail_is_empty_native.hpp>
 #endif /* BOOST_VMD_PPLIB */
 
 #include <boost/variadic_macro_data/detail/vmd_detail_is_empty_common.hpp>

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -7,9 +7,13 @@
 
 #if BOOST_VMD_MSVC
 
+# pragma warning(once:4002)
+
 #define VMD_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
 #define VMD_DETAIL_IS_EMPTY_IIF_0(t, b) b
 #define VMD_DETAIL_IS_EMPTY_IIF_1(t, b) t
+#define VMD_DETAIL_IS_EMPTY_GEN_ZERO(x) 0
+#define VMD_DETAIL_IS_EMPTY_COMMON_EXPAND(...) 1,1
 
 #else
 

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_native.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,26 @@
+#if !defined(VMD_DETAIL_IS_EMPTY_NATIVE_HPP)
+#define VMD_DETAIL_IS_EMPTY_NATIVE_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_MSVC
+
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/variadic_macro_data/vmd_data.hpp>
+
+#define VMD_DETAIL_IS_EMPTY_VC_IS_TUPLE_BEGIN(param) \
+ BOOST_PP_DEC \
+ ( \
+ BOOST_VMD_DATA_SIZE \
+ ( \
+ VMD_DETAIL_IS_EMPTY_COMMON_EXPAND param \
+ ) \
+ ) \
+/**/
+
+#endif /* BOOST_VMD_MSVC */
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_IS_EMPTY_NATIVE_HPP */

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_pplib.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_pplib.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_empty_pplib.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -9,18 +9,13 @@
 
 #include <boost/preprocessor/arithmetic/dec.hpp>
 #include <boost/preprocessor/variadic/size.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
-
-#define VMD_DETAIL_IS_EMPTY_VSIZE(...) VMD_DETAIL_IS_EMPTY_VSIZE2(__VA_ARGS__)
-#define VMD_DETAIL_IS_EMPTY_VSIZE2(...) VMD_DETAIL_IS_EMPTY_VSIZE3(__VA_ARGS__)
-#define VMD_DETAIL_IS_EMPTY_VSIZE3(...) BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)
 
 #define VMD_DETAIL_IS_EMPTY_TUPLE_BEGIN(param) \
     BOOST_PP_DEC \
       ( \
- VMD_DETAIL_IS_EMPTY_VSIZE \
+ BOOST_PP_VARIADIC_SIZE \
         ( \
- VMD_DETAIL_COMMON_EXPAND param \
+ VMD_DETAIL_IS_EMPTY_COMMON_EXPAND param \
         ) \
       ) \
 /**/

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,11 @@
+#if !defined(VMD_DETAIL_IS_TUPLE_BEGIN_HPP)
+#define VMD_DETAIL_IS_TUPLE_BEGIN_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#include <boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin_common.hpp>
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_IS_TUPLE_BEGIN_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin_common.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,15 @@
+#if !defined(VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_HPP)
+#define VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_EXPAND(...) 1,1
+
+#endif /* BOOST_VMD_MSVC */
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_HPP */

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_tuple_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_tuple_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_tuple_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -9,8 +9,18 @@
 #include <boost/preprocessor/tuple/reverse.hpp>
 #include <boost/preprocessor/tuple/rem.hpp>
 #include <boost/variadic_macro_data/detail/vmd_detail_data_native.hpp>
+
+#if BOOST_VMD_MSVC
+
+#include <boost/preprocessor/tuple/to_list.hpp>
+#include <boost/preprocessor/tuple/to_seq.hpp>
+
+#else
+
 #include <boost/variadic_macro_data/detail/vmd_detail_native.hpp>
 
+#endif
+
 #define VMD_DETAIL_REMOVE_TUPLE_PARENS(...) \
   __VA_ARGS__ \
 /**/
@@ -30,5 +40,17 @@
   BOOST_PP_TUPLE_REVERSE(size,tuple) \
 /**/
 
+#if BOOST_VMD_MSVC
+
+#define VMD_DETAIL_PP_TUPLE_VC_TO_LIST(size,tuple) \
+ BOOST_PP_TUPLE_TO_LIST(size,tuple) \
+/**/
+
+#define VMD_DETAIL_PP_TUPLE_VC_TO_SEQ(size,tuple) \
+ BOOST_PP_TUPLE_TO_SEQ(size,tuple) \
+/**/
+
+#endif /* BOOST_VMD_MSVC */
+
 #endif // BOOST_VMD_VARIADICS
 #endif // VMD_DETAIL_TUPLE_NATIVE_HPP

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -13,6 +13,7 @@
 #include <boost/variadic_macro_data/vmd_remove_parens.hpp>
 #include <boost/variadic_macro_data/vmd_assert_is_array.hpp>
 #include <boost/variadic_macro_data/vmd_assert_is_list.hpp>
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
 #include <boost/variadic_macro_data/vmd_assert_is_tuple.hpp>
 
 #endif /* BOOST_VMD_VARIADICS */

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_Is_empty_pplib.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_Is_empty_pplib.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_Is_empty_pplib.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,12 +5,6 @@
 
 #if BOOST_VMD_VARIADICS
 
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp>
-
 /*
 
   The succeeding comments in this file are in doxygen format.
@@ -22,6 +16,10 @@
 
 #if BOOST_VMD_MSVC
 
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/preprocessor/variadic/size.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp>
+
 #define BOOST_VMD_IS_EMPTY(param) \
     VMD_DETAIL_IS_EMPTY_IIF \
       ( \
@@ -29,12 +27,12 @@
         ( \
         BOOST_PP_VARIADIC_SIZE \
           ( \
- VMD_DETAIL_COMMON_EXPAND param \
+ VMD_DETAIL_IS_EMPTY_COMMON_EXPAND param \
           ) \
         ) \
       ) \
       ( \
- VMD_DETAIL_GEN_ZERO, \
+ VMD_DETAIL_IS_EMPTY_GEN_ZERO, \
       VMD_DETAIL_IS_EMPTY_TUPLE_BEGIN \
       ) \
     (VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C param ()) \

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,11 @@
+#if !defined(VMD_ASSERT_IS_SEQ_HPP)
+#define VMD_ASSERT_IS_SEQ_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#include <boost/variadic_macro_data/vmd_assert_is_seq_common.hpp>
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_ASSERT_IS_SEQ_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq_common.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_seq_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,40 @@
+#if !defined(VMD_ASSERT_IS_SEQ_COMMON_HPP)
+#define VMD_ASSERT_IS_SEQ_COMMON_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+/*
+
+ The succeeding comments in this file are in doxygen format.
+
+*/
+
+/** \file
+*/
+
+#if !BOOST_VMD_ASSERT_DATA
+
+#define BOOST_VMD_ASSERT_IS_SEQ(x)
+
+#else
+
+#include <boost/preprocessor/control/while.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_seq.hpp>
+
+#define BOOST_VMD_ASSERT_IS_SEQ(x) \
+ VMD_DETAIL_ASSERT_IS_SEQ_CHECK_RETURN_FAILURE \
+ ( \
+ BOOST_PP_WHILE \
+ ( \
+ VMD_DETAIL_ASSERT_IS_SEQ_PRED, \
+ VMD_DETAIL_ASSERT_IS_SEQ_OP, \
+ x \
+ ) \
+ ) \
+/**/
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_ASSERT_IS_SEQ_COMMON_HPP */

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_tuple_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_tuple_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_tuple_common.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -25,11 +25,11 @@
 #if !BOOST_VMD_MSVC
 
 #include <boost/preprocessor/debug/assert.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
 
 #endif
 
 #include <boost/variadic_macro_data/vmd_is_tuple_begin.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
 #include <boost/variadic_macro_data/detail/vmd_detail_assert_is_tuple.hpp>
 
 #if BOOST_VMD_MSVC
@@ -43,7 +43,7 @@
        ( \
        BOOST_VMD_IS_TUPLE_BEGIN(x), \
        VMD_DETAIL_ASSERT_IS_TUPLE_IS_NOT_AFTER, \
- VMD_DETAIL_GEN_ZERO \
+ VMD_DETAIL_ASSERT_IS_TUPLE_GEN_ZERO \
        ) \
      (x) \
      ) \

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_empty_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_empty_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_empty_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,13 +5,6 @@
 
 #if BOOST_VMD_VARIADICS
 
-#include <boost/preprocessor/arithmetic/dec.hpp>
-
-#include <boost/variadic_macro_data/vmd_data.hpp>
-#include <boost/variadic_macro_data/vmd_is_tuple_begin.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp>
-
 /*
 
   The succeeding comments in this file are in doxygen format.
@@ -21,9 +14,12 @@
 /** \file
 */
 
-
 #if BOOST_VMD_MSVC
 
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/variadic_macro_data/vmd_data.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_is_empty.hpp>
+
 #define BOOST_VMD_IS_EMPTY(param) \
     VMD_DETAIL_IS_EMPTY_IIF \
       ( \
@@ -31,13 +27,13 @@
         ( \
         BOOST_VMD_DATA_SIZE \
           ( \
- VMD_DETAIL_COMMON_EXPAND param \
+ VMD_DETAIL_IS_EMPTY_COMMON_EXPAND param \
           ) \
         ) \
       ) \
       ( \
- VMD_DETAIL_GEN_ZERO, \
- BOOST_VMD_IS_TUPLE_BEGIN \
+ VMD_DETAIL_IS_EMPTY_GEN_ZERO, \
+ VMD_DETAIL_IS_EMPTY_VC_IS_TUPLE_BEGIN \
       ) \
     (VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C param ()) \
 /**/

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,11 +5,6 @@
 
 #if BOOST_VMD_VARIADICS
 
-#include <boost/preprocessor/arithmetic/dec.hpp>
-
-#include <boost/variadic_macro_data/vmd_data.hpp>
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
-
 /*
 
   The succeeding comments in this file are in doxygen format.
@@ -21,6 +16,10 @@
 
 #if BOOST_VMD_MSVC
 
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/variadic_macro_data/vmd_data.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin.hpp>
+
 /// Tests whether its parameter begins with a tuple.
 /**
 
@@ -40,7 +39,7 @@
       ( \
       BOOST_VMD_DATA_SIZE \
         ( \
- VMD_DETAIL_COMMON_EXPAND param \
+ VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_EXPAND param \
         ) \
       ) \
 /**/

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_pplib.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_pplib.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_is_tuple_begin_pplib.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -5,11 +5,6 @@
 
 #if BOOST_VMD_VARIADICS
 
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-
-#include <boost/variadic_macro_data/detail/vmd_detail.hpp>
-
 /*
 
   The succeeding comments in this file are in doxygen format.
@@ -21,6 +16,10 @@
 
 #if BOOST_VMD_MSVC
 
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/preprocessor/variadic/size.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_is_tuple_begin.hpp>
+
 /// Tests whether its parameter begins with a tuple.
 /**
 
@@ -41,7 +40,7 @@
       ( \
       BOOST_PP_VARIADIC_SIZE \
         ( \
- VMD_DETAIL_COMMON_EXPAND param \
+ VMD_DETAIL_IS_TUPLE_BEGIN_COMMON_EXPAND param \
         ) \
       ) \
 /**/

Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_tuple_native.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_tuple_native.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_tuple_native.hpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -7,6 +7,12 @@
 
 #include <boost/variadic_macro_data/detail/vmd_detail_tuple.hpp>
 
+#if !BOOST_VMD_MSVC
+
+#include <boost/variadic_macro_data/detail/vmd_detail_native.hpp>
+
+#endif
+
 /*
 
   The succeeding comments in this file are in doxygen format.
@@ -108,6 +114,54 @@
   VMD_DETAIL_PP_TUPLE_REVERSE(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
+#if BOOST_VMD_MSVC
+
+/// Expands to a list whose elements are the same as a tuple.
+/**
+
+ tuple = a Boost PP library tuple data type.
+
+ returns = a list whose elements are the same as the tuple
+ that is inputted.
+
+ In the Boost PP library there is no way to calculate
+ the size of a tuple, so that the size must be known
+ in order to be used by Boost PP library tuple macros.
+ With variadic macros the size of a tuple can be
+ calculated from the tuple itself.
+
+ Therefore this macro is a replacement for the BOOST_PP_TUPLE_TO_LIST
+ macro without the necessity of having to pass a size.
+
+*/
+#define BOOST_VMD_PP_TUPLE_TO_LIST(tuple) \
+ VMD_DETAIL_PP_TUPLE_VC_TO_LIST(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
+/**/
+
+/// Expands to a sequence whose elements are the same as a tuple.
+/**
+
+ tuple = a Boost PP library tuple data type.
+
+ returns = a sequence whose elements are the same as the tuple
+ that is inputted.
+
+ In the Boost PP library there is no way to calculate
+ the size of a tuple, so that the size must be known
+ in order to be used by Boost PP library tuple macros.
+ With variadic macros the size of a tuple can be
+ calculated from the tuple itself.
+
+ Therefore this macro is a replacement for the BOOST_PP_TUPLE_TO_SEQ
+ macro without the necessity of having to pass a size.
+
+*/
+#define BOOST_VMD_PP_TUPLE_TO_SEQ(tuple) \
+ VMD_DETAIL_PP_TUPLE_VC_TO_SEQ(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
+/**/
+
+#else
+
 /// Expands to a list whose elements are the same as a tuple.
 /**
 
@@ -152,6 +206,8 @@
   VMD_DETAIL_PP_TUPLE_TO_SEQ(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
+#endif
+
 /// Expands to variadic macro data whose arguments are the same as a tuple's elements.
 /**
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -62,6 +62,16 @@
           <define>BOOST_VMD_ASSERT_DATA=1 ]
         [ compile-fail test_assert_is_list_fail4.cpp :
           <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile test_assert_is_seq.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_seq_fail.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_seq_fail2.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_seq_fail3.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_seq_fail4.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
     ;
 
 test-suite variadic_macro_data_pplib
@@ -150,4 +160,24 @@
           <define>BOOST_VMD_ASSERT_DATA=1
           <define>BOOST_VMD_PPLIB=1 :
           test_assert_is_list_fail4_pplib ]
+ [ compile test_assert_is_seq.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_seq_pplib ]
+ [ compile-fail test_assert_is_seq_fail.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_seq_fail_pplib ]
+ [ compile-fail test_assert_is_seq_fail2.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_seq_fail2_pplib.cpp ]
+ [ compile-fail test_assert_is_seq_fail3.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_seq_fail3_pplib ]
+ [ compile-fail test_assert_is_seq_fail4.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_seq_fail4_pplib ]
     ;

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -12,7 +12,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail2.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail2.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail2.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail3.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail3.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail3.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail4.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail4.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_array_fail4.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -12,7 +12,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1];
    
 #endif
 

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,21 @@
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS
+
+ BOOST_VMD_ASSERT_IS_SEQ((x))
+ BOOST_VMD_ASSERT_IS_SEQ((x)(y))
+ BOOST_VMD_ASSERT_IS_SEQ((x)(y)(z)(2)(3)(4))
+ BOOST_VMD_ASSERT_IS_SEQ((x)(y)(z)((1,2))(3)(4))
+ BOOST_VMD_ASSERT_IS_SEQ((x)(y)(z)((1,2))(3)((4,(x,BOOST_VMD_NIL))))
+ BOOST_VMD_ASSERT_IS_SEQ((x)(y)((x)(y)(z)(2)(3)(4))((1,2))(3)((4,(x,BOOST_VMD_NIL))))
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,21 @@
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS && BOOST_VMD_ASSERT_DATA
+
+ BOOST_VMD_ASSERT_IS_SEQ((y,(x,3,e,2)))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_SEQ_ERROR[-1];
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail2.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail2.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS && BOOST_VMD_ASSERT_DATA
+
+ BOOST_VMD_ASSERT_IS_SEQ((y)2(x))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_SEQ_ERROR[-1];
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail3.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail3.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS && BOOST_VMD_ASSERT_DATA
+
+ BOOST_VMD_ASSERT_IS_SEQ(y(z)(x))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_SEQ_ERROR[-1];
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail4.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_seq_fail4.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_seq.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS && BOOST_VMD_ASSERT_DATA
+
+ BOOST_VMD_ASSERT_IS_SEQ((z)(x)(72)64)
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_SEQ_ERROR[-1];
+
+#endif
+
+ return boost::report_errors();
+
+ }

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -12,7 +12,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail2.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail2.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail2.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail3.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail3.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail3.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1];
    
 #endif
 

Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail4.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail4.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_tuple_fail4.cpp 2011-08-07 20:50:35 EDT (Sun, 07 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1];
    
 #endif
 


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