Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r73548 - 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-05 11:09:36


Author: eldiener
Date: 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
New Revision: 73548
URL: http://svn.boost.org/trac/boost/changeset/73548

Log:
Added assert_is_list and tests.
Added:
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_native.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_pplib.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list.hpp (contents, props changed)
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list_common.hpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp (contents, props changed)
   sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp (contents, props changed)
Text files modified:
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp | 3 ++-
   sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_tuple_common.hpp | 2 +-
   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 +-
   7 files changed, 37 insertions(+), 6 deletions(-)

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,17 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_LIST_HPP)
+#define VMD_DETAIL_ASSERT_IS_LIST_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_list_pplib.hpp>
+#else
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_list_native.hpp>
+#endif /* BOOST_VMD_PPLIB */
+
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp>
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_ASSERT_IS_LIST_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_common.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,136 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_LIST_COMMON_HPP)
+#define VMD_DETAIL_ASSERT_IS_LIST_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/logical/bitor.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>
+
+#define VMD_DETAIL_ASSERT_IS_LIST_CHECK_RETURN_FAILURE(x) \
+ VMD_DETAIL_ASSERT_IS_LIST_VC_CHECK_RETURN_FAILURE \
+ ( \
+ BOOST_PP_NOT \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_IS_FAILURE(x) \
+ ) \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_VC_CHECK_RETURN_FAILURE(x) \
+ BOOST_PP_ASSERT \
+ ( \
+ x \
+ ) \
+ BOOST_PP_IIF \
+ ( \
+ x, \
+ BOOST_PP_EMPTY, \
+ VMD_DETAIL_ASSERT_IS_LIST_VC_GEN_ERROR_OUTPUT \
+ ) \
+ () \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_VC_GEN_ERROR_OUTPUT() \
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+/**/
+
+#else
+
+#define VMD_DETAIL_ASSERT_IS_LIST_CHECK_RETURN_FAILURE(x) \
+ BOOST_PP_ASSERT \
+ ( \
+ BOOST_PP_NOT \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_IS_FAILURE(x) \
+ ) \
+ ) \
+/**/
+
+#endif /* BOOST_VMD_MSVC */
+
+#define VMD_DETAIL_ASSERT_IS_LIST_PRED(d,state) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_TUPLE_BEGIN(state), \
+ VMD_DETAIL_ASSERT_IS_LIST_GEN_ONE, \
+ VMD_DETAIL_ASSERT_IS_LIST_NOT_BOOST_PP_NIL \
+ ) \
+ (state) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_OP(d,state) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_VMD_IS_TUPLE_BEGIN(state), \
+ VMD_DETAIL_ASSERT_IS_LIST_PROCESS_TUPLE, \
+ VMD_DETAIL_ASSERT_IS_LIST_PROCESS_IF_BOOST_PP_NIL \
+ ) \
+ (state) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_PROCESS_IF_BOOST_PP_NIL(x) \
+ BOOST_PP_IIF \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_BOOST_PP_NIL(x), \
+ BOOST_PP_NIL, \
+ BOOST_VMD_IS_LIST_FAILURE \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_ASSERT(x) \
+ BOOST_VMD_IS_LIST_FAILURE \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_GEN_ONE(x) \
+ 1 \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_NOT_BOOST_PP_NIL(x) \
+ BOOST_PP_NOT \
+ ( \
+ BOOST_PP_BITOR \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_BOOST_PP_NIL(x), \
+ VMD_DETAIL_ASSERT_IS_LIST_IS_FAILURE(x) \
+ ) \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_BOOST_PP_NIL(x) \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ BOOST_PP_CAT \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_NIL_HELPER_, \
+ x \
+ ) \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_NIL_HELPER_BOOST_PP_NIL
+
+#define VMD_DETAIL_ASSERT_IS_LIST_IS_FAILURE(x) \
+ BOOST_VMD_IS_EMPTY \
+ ( \
+ BOOST_PP_CAT(VMD_DETAIL_ASSERT_IS_LIST_FHELPER_,x) \
+ ) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_FHELPER_BOOST_VMD_IS_LIST_FAILURE
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_DETAIL_ASSERT_ASSERT_IS_LIST_COMMON_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_native.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_native.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,32 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_LIST_NATIVE_HPP)
+#define VMD_DETAIL_ASSERT_IS_LIST_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_assert_is_tuple.hpp>
+#include <boost/variadic_macro_data/vmd_tuple.hpp>
+
+#define VMD_DETAIL_ASSERT_IS_LIST_PROCESS_TUPLE(x) \
+ BOOST_VMD_ASSERT_IS_TUPLE(x) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_PP_EQUAL(2,BOOST_VMD_PP_TUPLE_SIZE(x)), \
+ VMD_DETAIL_ASSERT_IS_LIST_RETURN_SECOND, \
+ VMD_DETAIL_ASSERT_IS_LIST_ASSERT \
+ ) \
+ (x) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_RETURN_SECOND(x) \
+ BOOST_VMD_PP_TUPLE_ELEM(1,x) \
+/**/
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif // BOOST_VMD_VARIADICS
+#endif // VMD_DETAIL_ASSERT_IS_LIST_NATIVE_HPP

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_pplib.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_assert_is_list_pplib.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,33 @@
+#if !defined(VMD_DETAIL_ASSERT_IS_LIST_PPLIB_HPP)
+#define VMD_DETAIL_ASSERT_IS_LIST_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/tuple/elem.hpp>
+#include <boost/preprocessor/tuple/size.hpp>
+#include <boost/variadic_macro_data/vmd_assert_is_tuple.hpp>
+
+#define VMD_DETAIL_ASSERT_IS_LIST_PROCESS_TUPLE(x) \
+ BOOST_VMD_ASSERT_IS_TUPLE(x) \
+ BOOST_PP_IIF \
+ ( \
+ BOOST_PP_EQUAL(2,BOOST_PP_TUPLE_SIZE(x)), \
+ VMD_DETAIL_ASSERT_IS_LIST_RETURN_SECOND, \
+ VMD_DETAIL_ASSERT_IS_LIST_ASSERT \
+ ) \
+ (x) \
+/**/
+
+#define VMD_DETAIL_ASSERT_IS_LIST_RETURN_SECOND(x) \
+ BOOST_PP_TUPLE_ELEM(1,x) \
+/**/
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif // BOOST_VMD_VARIADICS
+#endif // VMD_DETAIL_ASSERT_IS_LIST_PPLIB_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -11,8 +11,9 @@
 #include <boost/variadic_macro_data/vmd_is_empty.hpp>
 #include <boost/variadic_macro_data/vmd_is_tuple_begin.hpp>
 #include <boost/variadic_macro_data/vmd_remove_parens.hpp>
-#include <boost/variadic_macro_data/vmd_assert_is_tuple.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_tuple.hpp>
 
 #endif /* BOOST_VMD_VARIADICS */
 #endif /* VARIADIC_MACRO_DATA_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,11 @@
+#if !defined(VMD_ASSERT_IS_LIST_HPP)
+#define VMD_ASSERT_IS_LIST_HPP
+
+#include <boost/variadic_macro_data/detail/vmd_detail_setup.hpp>
+
+#if BOOST_VMD_VARIADICS
+
+#include <boost/variadic_macro_data/vmd_assert_is_list_common.hpp>
+
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_ASSERT_IS_LIST_HPP */

Added: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list_common.hpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_assert_is_list_common.hpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,40 @@
+#if !defined(VMD_ASSERT_IS_LIST_COMMON_HPP)
+#define VMD_ASSERT_IS_LIST_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_LIST(x)
+
+#else
+
+#include <boost/preprocessor/control/while.hpp>
+#include <boost/variadic_macro_data/detail/vmd_detail_assert_is_list.hpp>
+
+#define BOOST_VMD_ASSERT_IS_LIST(x) \
+ VMD_DETAIL_ASSERT_IS_LIST_CHECK_RETURN_FAILURE \
+ ( \
+ BOOST_PP_WHILE \
+ ( \
+ VMD_DETAIL_ASSERT_IS_LIST_PRED, \
+ VMD_DETAIL_ASSERT_IS_LIST_OP, \
+ x \
+ ) \
+ ) \
+/**/
+
+#endif /* BOOST_VMD_ASSERT_DATA */
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VMD_ASSERT_IS_LIST_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -64,7 +64,7 @@
      ) \
 /**/
 
-#endif
+#endif /* BOOST_VMD_MSVC */
 
 #endif /* BOOST_VMD_ASSERT_DATA */
 #endif /* BOOST_VMD_VARIADICS */

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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -52,6 +52,16 @@
           <define>BOOST_VMD_ASSERT_DATA=1 ]
         [ compile-fail test_assert_is_array_fail4.cpp :
           <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile test_assert_is_list.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_list_fail.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_list_fail2.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_list_fail3.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
+ [ compile-fail test_assert_is_list_fail4.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1 ]
     ;
 
 test-suite variadic_macro_data_pplib
@@ -120,4 +130,24 @@
           <define>BOOST_VMD_ASSERT_DATA=1
           <define>BOOST_VMD_PPLIB=1 :
           test_assert_is_array_fail4_pplib ]
+ [ compile test_assert_is_list.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_list_pplib ]
+ [ compile-fail test_assert_is_list_fail.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_list_fail_pplib ]
+ [ compile-fail test_assert_is_list_fail2.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_list_fail2_pplib.cpp ]
+ [ compile-fail test_assert_is_list_fail3.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_list_fail3_pplib ]
+ [ compile-fail test_assert_is_list_fail4.cpp :
+ <define>BOOST_VMD_ASSERT_DATA=1
+ <define>BOOST_VMD_PPLIB=1 :
+ test_assert_is_list_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -12,7 +12,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_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-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -11,7 +11,7 @@
   
 #else
 
- typedef char BOOST_VMD_ASSERT_IS_TUPLE_ERROR[-1]; \
+ typedef char BOOST_VMD_ASSERT_IS_ARRAY_ERROR[-1]; \
    
 #endif
 

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list.cpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_list.hpp>
+// #include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS
+
+ #define A_LIST (e,(g,(&,BOOST_PP_NIL)))
+
+ BOOST_VMD_ASSERT_IS_LIST((4,(x,BOOST_PP_NIL)))
+ BOOST_VMD_ASSERT_IS_LIST(((3,6m,irj),(x,BOOST_PP_NIL)))
+ BOOST_VMD_ASSERT_IS_LIST(A_LIST)
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail.cpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,21 @@
+#include <boost/variadic_macro_data/vmd_assert_is_list.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_LIST((4,(x)))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail2.cpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_list.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_LIST((4,(5,BOOST_PP_NIL),6))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail3.cpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_list.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_LIST(4,(5,BOOST_PP_NIL),6)
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+
+#endif
+
+ return boost::report_errors();
+
+ }

Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_assert_is_list_fail4.cpp 2011-08-05 11:09:34 EDT (Fri, 05 Aug 2011)
@@ -0,0 +1,20 @@
+#include <boost/variadic_macro_data/vmd_assert_is_list.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_LIST((tt,(5,(uu,BOOST_PP_NIL yy))))
+
+#else
+
+ typedef char BOOST_VMD_ASSERT_IS_LIST_ERROR[-1]; \
+
+#endif
+
+ return boost::report_errors();
+
+ }


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